matlab gui快捷键,Matlab的GUI中的快捷键的编程

在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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值