質問

機能の異なる側面を持つMATLAB GUIを持っています。それぞれのUIControlsのパネルがあります。1つのパネルが選択されると、もう1つは見えないように設定され、その逆も同様です。ただし、ポップアップメニューの形式で同じ入力の一部を共有しています。2番目のパネルにメニューの「クローン」インスタンスをどういうわけか含めることができますか?できるだけ多くの冗長コールバックやUICONTROLを避けたいのですが。

役に立ちましたか?

解決

UICONTROLが図の直接の子であった場合、あなたはそれをすべての前に置くことができるかもしれません。

はるかに単純な解決策は、複数のUIControlに同じコールバックを使用することです。プロパティエディタでは、コールバック名を変更して共通のコールバック関数に設定できます。さらに、GUIのmyPopupHにフィールド(OpeningFcn)を作成できます。ここでは、同じように動作する必要があるポップアップのハンドルを保存できます。次に、コールバックでは、hObject、つまり最初の入力引数を使用します(Popup-Menuの変更された状態にアクセスするには)。両方のポップアップが常に同じ状態になることを確認できます。したがって、UIオブジェクトは冗長であり得るが、全てのコード(はるかに重要な)は単一のコピーにのみ存在する。

複数のUI要素に1回のコールバックを使用している1か所は、「キャンセル」 - ボタンからアクセスされている「CANCEL」 - ボタンからアクセスされる閉じる要求関数と、次のいずれかからのものです。 "ファイル" - メネアイテム

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top