DuiVision的每个控件都可以设置快捷键,设置方法是在xml中设置shortcut属性,例如下面这个控件设置快捷键为ESC键:
<imgbtn name="button.close" pos="-45,0,-0,29" skin="IDB_BT_CLOSE" shortcut="ESC" />
快捷键的写法是flag+char的形式,flag可以是CTRL、ALT、SHIFT,分别表示几个控制键是否按下,char是键的名字,可以用的包括字母、数字,以及下面这些键:
快捷键字符串 | 含义 |
---|---|
RETURN | 回车 |
ESC | 取消 |
BACK | 回退 |
TAB | TAB键 |
SPACE | 空格键 |
PRIOR | 上翻页 |
NEXT | 下翻页 |
END | 到文件尾 |
HOME | 到文件头 |
LEFT、UP、RIGHT、DOWN | 几个方向键 |
打印 | |
INSERT | 插入 |
DELETE | 删除 |
F1-F12 | 功能键 |
如果没有flag,也可以直接写键的名字。
某个控件如果设置了快捷键,当按下快捷键时候,相当于在控件上点击了一次鼠标,实际动作就是自动触发针对这个控件的一次鼠标按下消息和鼠标放开消息。
DuiVision的控件支持焦点状态,如果一个控件要支持焦点的话,可以通过设置控件的tabstop属性来实现,tabstop为1表示此控件可以处于焦点状态,tabstop属性也可以通过API查询,就是控件的IsTabStop函数。一些控件默认是会设置为tabstop为1的状态的,这些控件包括按钮、检查框、RadioButton、编辑框。
焦点的切换有两种方式,一种是通过键盘操作,TAB键和SHIFT+TAB键分别表示切换到下一个或上一个可以获取焦点的控件上面,另一种方式是鼠标点击了一个控件之后,这个控件就会成为当前的焦点控件。为了区分焦点控件,DuiVision提供了默认的焦点控件显示方式,就是在控件的内部靠近控件边框位置画灰色的虚线框,有些控件不会采用这样的方式画焦点,例如编辑框处于焦点状态时候会显示编辑框的输入光标,而编辑框失去焦点时候会取消光标的显示,同时会在编辑框内显示出编辑框控件的tip信息,如果不想让控件在焦点状态时候显示虚线框,可以设置控件的showfocus属性为0。
DuiVision开源代码下载地址(github):https://github.com/blueantst/DuiVision
蓝蚂蚁工作室主页:http://www.blueantstudio.net
DuiVision QQ群:325880743
微信公众号:blueantstudio 或搜索 蓝蚂蚁工作室