完善资料让更多小伙伴认识你,还能领取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之后,设置焦点就有效了。不知道这是为什么?但是用这种当时的确解决了问题。
|
|
|
|
只有小组成员才能发言,加入小组>>
649 浏览 1 评论
2098 浏览 5 评论
2403 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2160 浏览 6 评论
2142 浏览 7 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
289浏览 9评论
283浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
419浏览 6评论
283浏览 5评论
331浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-3-29 06:34 , Processed in 0.804532 second(s), Total 76, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 深圳华秋电子有限公司
电子发烧友 (电路图) 粤公网安备 44030402000349 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号