请教下ucGUI中的WM_KEY
刚开始学ucGUI,创建了一个任务A负责GUI_Exec();一个任务B负责GUI_TOUCH_Exec();一个任务C创建了对话框按钮啥的。1我单独创建了一个按钮,然后...
刚开始学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发送出去啊, 展开
1 我单独创建了一个按钮,然后通过GUI_GetKey读取按下按钮的ID,发现成功了,ID存放在一个全局变量_Key里面,请教下是什么时候在哪个函数里给_Key赋值的吗?
2 我在一个对话框里创建了一个按钮,看到别的资料里讲:
”启用win窗体管理时, 使用_KeyMsg作为键盘消息记录变量, 在使用窗体管理模块时, 通过在消息LOOP当中调用GUI_PollKeyMsg()函数检测_KeyMsg, 并将收集到的键盘消息以WM_KEY传送到当前焦点窗体.“
发现按下按钮的时候GUI_PollKeyMsg函数里的_KeyMsg一直为0,不可能将WM_KEY发送出去啊, 展开
1个回答
展开全部
首先在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刚接触没多久,不知道是不是这样。
这个函数首先根据当前的坐标判断出当前的窗口句柄,之后会发WM_TOUCH消息
此消息在按钮回调颂森简函数中被 _OnTouch进行处理
当按钮被释放后 在OnTouch中会调用
_ButtonReleased(hObj, pObj, WM_NOTIFICATION_RELEASED);
在_ButtonReleased中调用了GUI_StoreKey(pObj->Widget.Id);将其值赋野裤给_Key全局变春段量
第二个问题 我不是很懂,我个人的 理解就是 ,ucgui是支持外部键盘输入的,也就是说,当你的应用中加入了一个外部键盘输入,那么你就要自己写按键处理,通过调用GUI_StoreKeyMsg这个函数,来被ucgui处理。
ucgui刚接触没多久,不知道是不是这样。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询