初级会员
- 积分
- 100
- 金钱
- 100
- 注册时间
- 2019-6-28
- 在线时间
- 27 小时
|
50金钱
EMWIN中GUI_SendMsg()已经把键值发送到输入焦点EDIT控件了但是并没有显示出来
目的:不采用触摸屏,按键控制小键盘输入。
处理:
在重绘中处理实体按键确认发送键值到当前焦点显示值。
小键盘按钮设置:for(i=ID_BUTTON_0; i<=ID_BUTTON_34; i++) BUTTON_SetFocussable(WM_GetDialogItem(pMsg->hWin, i), 0); 不接受焦点输入。
BUTTON_GetText(hItem, &charBUFF[0], sizeof(charBUFF));//读取当前按钮上的text
GUI_SendKeyMsg(charBUFF[0], 1);//发送text键值,把我键盘数据发送到输入焦点所在窗口,如果没有输入焦点则调用
//GUI_StoreKeyMsg(charBUFF[0], 1);将数据存储在输入缓冲区 //store key to EMWIN,参数1改为0测试都不行
NCode=GUI_GetKey();//读取当前键缓冲区
sprintf(charBUFF,"ASCII=: %d",NCode);//显示键缓冲区的值好跟edit里显示的值对比
最后结果:
采用GUI_SendKeyMsg(charBUFF[0], 1);函数NCode=GUI_GetKey()的结果是0,表明已经发送到焦点
采用GUI_StoreKeyMsg(charBUFF[0], 1);函数NCode=GUI_GetKey()的结果是0,表明已经放到缓冲区
疑问:
为什么已经发送到焦点了 没有显示出来值(直接发送ASCII值也没有显示),急求大神帮忙给看啊可能
|
|