初级会员
- 积分
- 50
- 金钱
- 50
- 注册时间
- 2019-5-9
- 在线时间
- 10 小时
|
1金钱
如题,我的系统中有一个外置的硬件键盘,通过查询方式获得简码,现在想要把获得的简码,与控制界面切换结合起来。该用哪些API来实现呢,目前已经尝试了通过发送用户自定义消息,并在该消息内获得某按键的句柄,然后设置按键按下状态,测试无效。
如下是消息发送的代码,这段代码位于键值扫描函数内部,当识别到有效键值时,会运行这三行代码。
STM030_RD_KeyNum(&KeyBuff, 1);
message.MsgId = WM_Involve_Key;
WM_SendMessage(hWinInitialize, &message);
WM_InvalidateWindow(hWinInitialize);
如下代码是我的窗口回调函数内部,对这条用户自定义消息的处理部分,BUTTON_SetPressed这两行似乎没有生效,还请不吝赐教,谢谢!
case WM_Involve_Key:
if(KeyBuff == KEYMAP_Mathsh[KEY_F4].scancode)
{
hWin = WM_GetDialogItem(hWinInitialize, ID_BUTTON_0);
BUTTON_SetPressed(hWin, 1);
BUTTON_SetPressed(hWin, 0);
}
break;
|
最佳答案
查看完整内容[请看2#楼]
原子哥,我找到解决问题的办法了,直接调用GUI_StoreKeyMsg(GUI_KEY_ENTER, 1); emwin就会自动向当前具有输入焦点的窗口发送消息,BUTTON控件收到这个消息后,会自动执行一次按键生效的动作。
|