返回首页

Matlab的GUI中的快捷键的编程

时间:2012-06-22 15:52来源:2018年最新注册送彩金www.zhixing123.cn 编辑:麦田守望者

在Matlab的GUI中的figure中常用的按键响应有两个:WindowKeyPressFcn和WindowKeyReleaseFcn,分别表示按下按键和释放按键的响应函数,两者调用形式上是一样的。

以WindowKeyPressFcn为例,来说明快捷键的使用方式。按键响应无论当前焦点在figure上还是控件上,这一点和鼠标响应有所不同。

发生按键的figure和以事件数据结构,事件数据结构中包含了按键的各种信息,如下:

Field Value Class
Character 's' char
Modifier <1*0 cell> cell
Key 's' char

意义分别为:
Character表示按键实际会显示的字符,如shift+k,则此值为K,只按下shift,则此值为空;

Modifier是一个元胞类型,包含所按所有修饰键的名字,如按下ctrl+shift+a,则此值为{'shift' ,'control'};

Key表示按键的名称,如k,a,multiply,delete等。

要注意,由于不可能同时按下两个键,所以多按键是挨个响应的,如按下ctrl+shift+a。

以上的三个参数是在WindowKeyPressFcn函数中的参数eventdata中的。

例子如下所示:

ctrl0=eventdata.Modifier;
if isempty(ctrl0)
ctrl='';
else
ctrl=ctrl0{1};
end
key=eventdata.Key;
switch ctrl
case 'control'
switch key
case 'q' %ctrl+q
% 添加相应的操作
case 'w' %ctrl+w
% 添加相应的操作
case 'e' %ctrl+e
% 添加相应的操作
end
case 'shift'
% 添加相应的操作
case 'alt'
% 添加相应的操作
case ''
% 添加相应的操作
end
 

顶一下
(0)
0%
踩一下
(0)
0%
标签(Tag):MATLAB Matlab技巧 Matlab实例教程 matlab源代码 matlab基础教程
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
博聚网