完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近做项目的时候,使用了物理的机械按键来处理界面,每次开一个窗口使用WM_SetFocus来设定焦点,这样之后就可以响应驱动来的按键消息了。但是第一个窗口是可以接受到WM_KEY的消息的。当我进入第二个窗口的时候,我先销毁第一个窗口,再打开第二个窗口,设定焦点。但是按键消息整个GUI都不响应了。于是我查了WM_SetFocus的API。说返回是0的话,是可以设置焦点的。返回是非0的话,就是焦点设置失败。但是问题又来了。就是我调试发现,第一个窗口是可以响应按键消息!但是返回值是1.就是焦点设置失败的。第二个窗口不可以响应消息,但是返回也是1.
//------------------------------第一个窗口是这么设置的 BUTTON_SetDefaultSkin(BUTTON_SKIN_FLEX); m_HListBox.hFrame = GUI_CreateDialogBox(_Measure_DialogCreate, GUI_COUNTOF(_Measure_DialogCreate), _cb_Measure_Dialog,WM_HBKWIN, 0, 0); acoff = WM_SetFocus(m_HListBox.hFrame); //---------------------------第二个窗口是这么设置的 BUTTON_SetDefaultSkin(BUTTON_SKIN_FLEX); m_HEditin.hFrame = GUI_CreateDialogBox(_AdsorbedCreate, GUI_COUNTOF(_AdsorbedCreate), _cbAdsorbedDose_Dialog, WM_HBKWIN, 0, 0); acof = WM_SetFocus(m_HEditIn.hFrame); //基本是一样的。为什么第二个窗口回调无法响应按钮消息啊? |
|
相关推荐
2个回答
|
|
|
|
我又来在每个资源列表框,加了一个button之后,设置焦点就有效了。不知道这是为什么?但是用这种当时的确解决了问题。
|
|
|
|
只有小组成员才能发言,加入小组>>
676 浏览 0 评论
1098 浏览 1 评论
2463 浏览 5 评论
2794 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2632 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
644浏览 9评论
640浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
771浏览 6评论
615浏览 5评论
659浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-15 03:34 , Processed in 0.949304 second(s), Total 82, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号