我有一个带有许多按钮的matlab gui。现在我想将一些闪电图设置到按钮。 实际上我可以检查一个按钮,它可以正常工作。 我的Questin是我如何检查两个按钮是否会按?

像ctrl +键类似的东西。 它不能不是Ctrl键=)它可能是任何关键组合。

感谢您的帮助。 对不起我的英语。

要检查一个键我使用此代码:

key1 = get(gcf,'CurrentKey');

if(strcmp (key1 ,'k'))
%CODE HERE
end
.

我尝试这样的东西(对于键k和q):

key2 = get(gcf,'CurrentKey');

keystr = [key1 + key2];

if(strcmp(keystr, 'kq'))
%CODE HERE
end
.

键1的值更改,如果按键盘上的另一个按钮。 所以&&运算符永远不会完整。

有帮助吗?

解决方案

它不是完全泛型,但我认为这应该做这个技巧:

首先确定控件是否被按下如@PURSUIT (可能为几个键工作)所示

modifiers = get(gcf,'currentModifier');        
ctrlIsPressed = ismember('control',modifiers);
.

然后只需检查当前密钥,就像已经完成并结合结果一样。最终它可以看出这样的东西:

modifiers = get(gcf,'currentModifier');        
key1 = get(gcf,'CurrentKey');

if(strcmp (key1 ,'k')) && ismember('control',modifiers)
    %CODE HERE
end
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top