GUI_emWin 切换控件的焦点

来源:互联网 发布:淘宝店被永久封店 编辑:程序博客网 时间:2024/05/18 01:46

驱动层API
键盘驱动层处理键盘消息函数。这些程序会在具体键(或组合键)被按下或松开时通知窗口管理器。
下表按字母顺序列出了驱动层键盘程序。详细描述如下。

GUI_StoreKeyMsg()

把消息存储于指定键。

GUI_SendKeyMsg()

把消息发送至指定键。



GUI_SendKeyMsg()
描述
把键盘数据发送到输入焦点所在窗口。如果没有窗口有输入焦点,则调用GUI_StoreKeyMsg()函
数将数据存储至输入缓冲器之中。
原型
voidGUI_SendKeyMsg(int Key, int Pressed);

 

参数

描述

Key

可以是任意扩展 ASCII 字符 (范围为 0x20 至 0xFF)或者任意预定义的 emWin 字符编码。

Pressed

1

按下状态。

0

松开 (未按下)状态。

 


GUI_StoreKeyMsg()
描述
把消息数据 (Key, PressedCnt) 存进键盘缓冲器。
原型
void GUI_StoreKeyMsg(int Key, int Pressed);

 

应用层 API

下表按字母顺序列出了应用层键盘程序。详细描述如下。

程序

描述

GUI_ClearKeyBuffer()

清除键缓冲器。

GUI_GetKey()

返回键缓冲器中的内容。

GUI_StoreKey()

把键存储于缓冲器中。

GUI_WaitKey()

等待键被按下

 

 

ucGui(emWin)的对话框中怎么切换控件的焦点?

 

1.   获得控件的句柄hItem=WM_GetDialogItem(HWin,EditLocateGet());

2.   聚焦:WM_SetFocus(hItem);

3.   切换控件的焦点,

 

GUI_SendKeyMsg(GUI_KEY_TAB, 1);//选择下一个聚焦控件

GUI_SendKeyMsg(GUI_KEY_BACKTAB, 1);//选择上一个聚焦控件

 

例如:

if(WM_HasFocus(WM_GetDialogItem(HWin,ID_BUTTON_MINUS))){ //如果聚焦在“-”按键GUI_SendKeyMsg(GUI_KEY_TAB, 1);//选择下一个聚焦控件}





原创粉丝点击