主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

uicontextmenu

コンテキストメニューコンポーネントの作成

説明

厘米= uicontextmenuは,現在の图にコンテキストメニューを作成し,快捷菜单オブジェクトを返します。数字が存在しない場合は、MATLAB®が関数数字を呼び出して图を作成します。

图でコンテキストメニューが開くようにするには,次の手順も行わなければなりません。

  • 图内同じのUIコンポーネントやグラフィックスオブジェクトにコンテキストメニューを割り当てます。

  • コンテキストメニュー内に少なくとも1つの子菜单オブジェクトを作成します。

厘米= uicontextmenu (は,指定された親图にコンテキストメニューを作成します。親には,関数uifigureまたは関数数字のいずれかで作成された图を指定できます。

厘米= uicontextmenu (___名称,值は1つ以上の名前と値のペアの引数を使用して指定されたプロパティ値をもつコンテキストメニューを作成します。前述の構文のいずれかを使用して,名前と値のペアを指定します。

すべて折りたたむ

用户界面图に2つのサブメニューをもつコンテキストメニューを作成します。快捷菜单图のオブジェクトに快捷菜单プロパティを設定して,图自体にコンテキストメニューを割り当てます。コンテキストメニューを表示するには,图ウィンドウの任意の場所を右クリックします。

无花果= uifigure;厘米= uicontextmenu(图);m1 = uimenu(厘米,“文本”“Menu1”);m2 = uimenu(厘米,“文本”“Menu2”);fig.ContextMenu =厘米;

ツリーコンポーネントに適したアクションのコンテキストメニューを作成します。コンテキストメニューをツリー内の最上位のツリーノードに割り当てます。

用户界面图で4つの最上位のノードと入れ子ノードのセットを含むツリーを作成します。

无花果= uifigure;树= uitree(图,“位置”,[20 200 175 100]);category1 = uitreenode(树,“文本”“跑步者”);r1 = uitreenode (category1,“文本”“乔”);r2 = uitreenode (category1,“文本”“琳达”);category2 = uitreenode(树,“文本”“自行车”);c1 = uitreenode (category2“文本”“Rajeev”);category3 = uitreenode(树,“文本”“旅行者”);h1 = uitreenode (category3,“文本”“杰克”);category4 = uitreenode(树,“文本”“游泳”);s1 = uitreenode (category4,“文本”“洛根”);

3つのメニュー項目を含むコンテキストメニューを作成します。最後のメニュー項目には,4つのサブメニューを作成します。

厘米= uicontextmenu(图);m1 = uimenu(厘米,“文本”“全部展开”);m2 = uimenu(厘米,“文本”“全部折叠”);m3 = uimenu(厘米,“文本”“滚动到…”);sbm1 = uimenu (m3,“文本”“跑步者”);sbm2 = uimenu (m3,“文本”“自行车”);sbm3 = uimenu (m3,“文本”“旅行者”);sbm4 = uimenu (m3,“文本”“游泳”);

次に,各ノードの快捷菜单プロパティを快捷菜单オブジェクトに設定し,コンテキストメニューを最上位のツリーノードに割り当てます。

category1。快捷菜单=厘米;category2。快捷菜单=厘米;category3。快捷菜单=厘米;category4。快捷菜单=厘米;

任意の最上位のツリーノードを右クリックし,コンテキストメニューを表示します。

この時点で,コードはまだ終了していません。右クリックするとコンテキストメニューが表示されますが,メニュー項目を選択しても何も効果はありません。メニュー項目の動作の実装を完了するには,コールバック関数MenuSelectedFcnを作成します。

コンテキストメニューを開くたびに,コマンドウィンドウにメッセージが表示されるコンテキストメニューを作成します。

従来の图を使用し,ラインプロットを作成します。その後,メニュー項目を1つ持つコンテキストメニューを作成し,そのラインプロットに割り当てます。コンテキストメニューが開くたびにコマンドウィンドウに出力を表示するコールバック関数ContextMenuOpeningFcnを作成します。

f =图;p =情节(1:10);厘米= uicontextmenu (f);m = uimenu(厘米,“文本”“Menu1”);厘米。ContextMenuOpeningFcn = @ (src、事件)disp (上下文菜单打开的);p.ContextMenu =厘米;

コンテキストメニューを表示するには,プロットラインを右クリックします。コンテキストメニューが開くと,コマンドウィンドウにも上下文菜单打开というメッセージが表示されます。

带有菜单项“menu 1”的上下文菜单显示在情节线上。

入力引数

すべて折りたたむ

親图。関数uifigureまたは関数数字で作成された数字オブジェクトとして指定します。親图を指定しない場合は、MATLAB で関数数字が呼び出されて親となる图が作成されます。

名前と値のペアの引数

オプションの名称,值の引数ペアをコンマ区切りで指定します。的名字は引数名で,价值は対応する値です。的名字は引用符で囲まなければなりません。Name1, Value1,…,的家のように,複数の名前と値のペアの引数を任意の順序で指定できます。

例:ContextMenuOpeningFcn, @myfunctionは,ユーザーがコンテキストメニューを操作するときに実行される関数としてmyfunctionを指定します。

ここでは,プロパティの一部だけを紹介しています。完全な一覧については,快捷菜单のプロパティを参照してください。

コンテキストメニューを開くコールバック関数。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである细胞配列。细胞配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効なMATLAB式を含む文字ベクトル(非推奨)。MATLABは、この式をベース ワークスペースで評価します。

コールバックのプロパティ値を関数ハンドル,细胞配列または文字ベクトルとして指定する方法の詳細については,コールバックプロパティ値の指定方法を参照してください。

コンテキストメニューの子。空のGraphicsPlaceholderまたは菜单オブジェクトのベクトルとして返されます。

孩子们プロパティを使用して子の追加や削除を行うことはできません。このプロパティは,子のリストの表示や子メニュー項目の並べ替えに使用します。この配列の子の順序は,開いたコンテキストメニューでのメニュー項目表示順序の逆になります。

たとえば,このコードは3つのコンテキストメニューを作成します。実行中のアプリでコンテキストメニューを開くと,最初のメニュー項目としてMenu1が表示されます。

无花果= uifigure;厘米= uicontextmenu(图);m1 = uimenu(厘米,“文本”“Menu1”);m2 = uimenu(厘米,“文本”“Menu2”);m3 = uimenu(厘米,“文本”“Menu3”);fig.ContextMenu =厘米;
有三个菜单项的上下文菜单。

厘米。孩子们は,メニュー項目のリストを逆順で返します。

厘米。孩子们
ans = 3×1菜单数组:菜单(菜单3)菜单(菜单2)菜单(菜单1)

HandleVisibilityプロパティが“关闭”に設定されているオブジェクトは孩子们プロパティにリストされません。

子をこのリストに追加するには,別の菜单オブジェクトのプロパティをこの快捷菜单オブジェクトに設定します。

ヒント

  • 実行中のアプリでコンテキストメニューを対話的に表示するには,次を満たさなければなりません。

    • 少なくとも1つのメニュー項目をもつ。

    • 同じ图のUIコンポーネントまたはグラフィックスオブジェクトに割り当てられている。

  • コンテキストメニューをプログラムによって開くには,関数开放を使用します。コンテキストメニューは,関数uifigureを使用して作成された图の子でなければなりません。コンテキストメニューを表示するには,関数uimenuを使用して作成された,少なくとも1つのメニュー項目をもつ必要があります。

参考

関数

プロパティ

R2006aより前に導入