10

ctrlボタンをクリックしている間、ユーザーがキーを押しているかどうかを知る必要があります。フィギュアではなくボタンなので、フィギュアなどに「selectionType」を使用することはできません。

4

2 に答える 2

10

これはどう:

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

Figure クラスには、Current*コールバックを処理するときに役立つ多くの便利なプロパティがあります。これは、現在のマウス位置、選択されたグラフィックス オブジェクト、および (ここのように) 押されたキーを取得する方法です。これらには、CurrentAxes、CurrentCharacter、CurrentKey、CurrentModifier、CurrentObject、および CurrentPosition が含まれます。

于 2012-04-11T20:12:13.933 に答える
1

エスケープ キーを押すと、CurrentModifier が再初期化されます。これまでの私の解決策は、ユーザーに (GUI で) エスケープ キーを押してデフォルトの動作に戻すように指示することでした。

全体として、Matlab の CurrentModifier の動作は、次のいずれかが発生するまで修飾キーが「固定」されるようです: 別の修飾子が押されるか、別のウィンドウが選択されるか、エスケープ キーが押されます。

于 2015-12-24T23:08:41.687 に答える