打印

请教下ucGUI中的WM_KEY

[复制链接]
2031|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lhwaizhu|  楼主 | 2013-6-22 18:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚开始学ucGUI,创建了一个任务A负责GUI_Exec();一个任务B负责GUI_TOUCH_Exec();一个任务C创建了对话框按钮啥的。
1  我单独创建了一个按钮,然后通过GUI_GetKey读取按下按钮的ID,发现成功了,ID存放在一个全局变量_Key里面,请教下是什么时候在哪个函数里给_Key赋值的吗?
2  我在一个对话框里创建了一个按钮,看到别的资料里讲:
”启用win窗体管理时, 使用_KeyMsg作为键盘消息记录变量, 在使用窗体管理模块时, 通过在消息LOOP当中调用GUI_PollKeyMsg()函数检测_KeyMsg, 并将收集到的键盘消息以WM_KEY传送到当前焦点窗体.“
发现按下按钮的时候GUI_PollKeyMsg函数里的_KeyMsg一直为0,不可能将WM_KEY发送出去啊,

相关帖子

沙发
610095871| | 2013-7-15 16:55 | 只看该作者
首先在WM_exec1中调用了WM_pfHandlePID即 WM_HandlePID这个函数首先根据当前的坐标判断出当前的窗口句柄,之后会发WM_TOUCH消息此消息在按钮回调函数中被 _OnTouch进行处理当按钮被释放后 在OnTouch中会调用_ButtonReleased(hObj, pObj, WM_NOTIFICATION_RELEASED);在_ButtonReleased中调用了GUI_StoreKey(pObj->Widget.Id);将其值赋给_Key全局变量 第二个问题 我不是很懂,我个人的 理解就是 ,ucgui是支持外部键盘输入的,也就是说,当你的应用中加入了一个外部键盘输入,那么你就要自己写按键处理,通过调用GUI_StoreKeyMsg这个函数,来被ucgui处理。

UCGUI源码学习中---Q群295214484

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

79

帖子

2

粉丝