10

我需要知道用户ctrl在单击按钮时是否按住键。因为它是一个按钮而不是一个图形,所以我不能在图形等上使用“selectionType”。

4

2 回答 2

10

这个怎么样:

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

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

于 2012-04-11T20:12:13.933 回答
1

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

总体而言,Matlab 的 CurrentModifier 行为似乎是修饰键“粘住”,直到发生以下情况之一:按下不同的修饰符、选择了不同的窗口或按下了转义键。

于 2015-12-24T23:08:41.687 回答