ou513 发表于 2023-11-30 09:15:54

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

本帖最后由 ou513 于 2023-11-30 09:16 编辑

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





第一个屏幕回调槽函数



第二个屏幕回调槽函数




eric2013 发表于 2023-11-30 09:50:43

应该是上电运行仅创建了你首届面展示的窗口。

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



ou513 发表于 2023-11-30 10:09:29

本帖最后由 ou513 于 2023-11-30 10:16 编辑

eric2013 发表于 2023-11-30 09:50
应该是上电运行仅创建了你首届面展示的窗口。

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


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

eric2013 发表于 2023-12-1 08:44:20

ou513 发表于 2023-11-30 10:09
信号槽方式触发好像就是不知道什么添加按键消息,就是需要响应外部按键消息WM_KEY。
没有创建的屏幕已经 ...

信号槽这个,可以界面上搞个按钮控件,然后实体按键触发这个按钮控件来触发消息,可以试试满足需求不,满足的话,再考虑将这个按钮做成透明的。
页: [1]
查看完整版本: APPWizard创建屏幕和控件的机制是什么样的