硬汉嵌入式论坛

 找回密码
 立即注册
查看: 318|回复: 3
收起左侧

[AppWizard] APPWizard创建屏幕和控件的机制是什么样的

[复制链接]

44

主题

562

回帖

699

积分

金牌会员

积分
699
发表于 2023-11-30 09:15:54 | 显示全部楼层 |阅读模式
本帖最后由 ou513 于 2023-11-30 09:16 编辑

用APPWizard调试创建了2个屏幕,想通过按键进行切换显示内容,但是用VS2019调试发现,只有第一个屏幕的回调函数运行了,第二屏幕的回调没有运行,然后就没法切换页面。设计大致如下,不知道这个设计方案是否合理可行,在WM_INIT_DIALOG消息里保存下各个窗口的句柄,然后通过按键操作隐藏或显示相关窗口从而达到页面切换的效果。按键是在按键栏窗口里获取,然后通过发送消息到活动也页面窗口上。
现在问题就是好像第二个屏幕并没有创建,代码里面不知道如何记录PAGE2的句柄。


1.png


第一个屏幕回调槽函数
3.png


第二个屏幕回调槽函数
2.png



回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2023-11-30 09:50:43 | 显示全部楼层
应该是上电运行仅创建了你首届面展示的窗口。

切换窗口建议使用这里的信号槽方式触发


下载.png
回复

使用道具 举报

44

主题

562

回帖

699

积分

金牌会员

积分
699
 楼主| 发表于 2023-11-30 10:09:29 | 显示全部楼层
本帖最后由 ou513 于 2023-11-30 10:16 编辑
eric2013 发表于 2023-11-30 09:50
应该是上电运行仅创建了你首届面展示的窗口。

切换窗口建议使用这里的信号槽方式触发

信号槽方式触发好像就是不知道什么添加按键消息,就是需要响应外部按键消息WM_KEY。
没有创建的屏幕已经解决了,就是要使能Persistent mode 这个属性。
1a.png

但是简单的并没有成功,只有page1隐藏了,但是page2没有显示,估计是不是要整个屏幕切换才可以,因为在APPWizard软件里不同屏幕内是可以定义相同ID的,如 ID_TEXT_00 不同屏幕都是从00 编号开始的。继续研究中
WM_HideWindow(page1);
WM_ShowWindow(page2);

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2023-12-1 08:44:20 | 显示全部楼层
ou513 发表于 2023-11-30 10:09
信号槽方式触发好像就是不知道什么添加按键消息,就是需要响应外部按键消息WM_KEY。
没有创建的屏幕已经 ...

信号槽这个,可以界面上搞个按钮控件,然后实体按键触发这个按钮控件来触发消息,可以试试满足需求不,满足的话,再考虑将这个按钮做成透明的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-28 15:19 , Processed in 0.171975 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表