是否按下“Ctrl”键?

时间:2012-04-11 17:19:30

标签: matlab user-interface

我需要知道用户是否在点击按钮时按住 ctrl 键。因为它是一个按钮,而不是一个数字我不能使用" selectionType'在图上等等。有一个简单的方法吗?

谢谢!

2 个答案:

答案 0 :(得分:10)

这个怎么样:

modifiers = get(gcf,'currentModifier');        %(Use an actual figure number if known)
ctrlIsPressed = ismember('control',modifiers);

figure类有许多有用的Current*属性,在处理回调时非常有用。这是如何检索当前鼠标位置,选定图形对象和(如此处)按下的键。其中包括:CurrentAxes,CurrentCharacter,CurrentKey,CurrentModifier,CurrentObject和CurrentPosition。

答案 1 :(得分:1)

按退出键重新初始化CurrentModifier。到目前为止,我的解决方案是指示我的用户(在GUI中)按下转义键以恢复默认行为。

总的来说,Matlab的CurrentModifier行为似乎是修饰键"坚持"直到出现以下情况之一:按下不同的修改器,选择不同的窗口,或按下转义键。