私が持っているもの:Matlabの-GUIでたUicontextmenuが見えるかアクティブであるかどうかを確認する方法
私はプロット(=軸)に接続されたUicontextmenuを持っています。私がマウスクリック(右ボタン)でこれを「アクティブ化」すると、通常の「コールバック」を使ってプロットを強調表示するなどの操作を行うことができます。ユーザーがメニューのuimenu要素の1つを選択すると、このuimenu要素のCallbackを使用して強調表示をリセットすることができます。 しかし、ユーザーが要素を選択しなければ問題があります。コンテキストメニューが表示されなくなり、これが発生した場合、私は見つけ出す方法を見つけることができません。私の例では、強調表示されたプロットは強調表示されたままです。私がこれまで試したどのような
:
ドキュメントを読んだだけでなく、私はuimenuの要素、例えばの一部にプロパティにリスナーを追加:
addlistener(mymenu_element, 'Visible', 'PostSet', @mytest);
しかし、このプロパティだけでなく他の人のように、いつでも変更または触れることがないようだ - 私は少しサプライズ何:
oをそこで質問です:
uicontextmenuが実行された後に関数を実行する方法はありますか(コンテキストメニューが表示されなくなったときに呼び出す方法)?つまり、ユーザーがコンテキストメニューの要素を選択しなかった場合、これをどのように識別できますか?
確かにこの非常に素晴らしく巧妙な回避策です!どうもありがとう!しかし、私のGUIは本当に複雑でパフォーマンスも重要なので、私はいつも全員にリスナーを置いてはいけません。関連するコールバックがトリガーされた時点でリスナーを軸に置き、図のリスナーを置くと、これはうまくいくと思います。クリーンアップ内で、図のリスナーを削除することができます。 –