質問

私は多くのボタンを持つMATLAB GUIを持っています。今度はボタンにショットカットを設定したいです。 実際に私は1つのボタンをチェックしてうまく機能します。 私のQuestinは、2つのボタンが押されるかどうかを確認できる方法ですか?

Ctrl +キーのようなもの。 Ctrlキー=)は任意のキーの組み合わせである可能性があります。

助けてくれてありがとう。 私の英語で申し訳ありません。

1つのキーを確認するこのコードを使用します。

key1 = get(gcf,'CurrentKey');

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

私はこのようなものを試してみました(Keys KとQの場合):

key2 = get(gcf,'CurrentKey');

keystr = [key1 + key2];

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

キーボードの別のボタンを押すと、キー1の値が変更されます。 だから&&演算子は完全充填ではありません。

役に立ちましたか?

解決

それは完全に一般的ではありませんが、これがトリックをするべきだと思います:

最初にコントロールが押されたかどうかを判断します。

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