MATLAB ヘルプ センター
クラス: matlab.uitest.TestCase 名前空間: matlab.uitest
コンテキスト メニュー項目に対する選択動作の実行
chooseContextMenu(testCase,comp,menuitem)
chooseContextMenu(testCase,comp,menuitem,location)
chooseContextMenu(testCase,uit,menuitem,indices)
chooseContextMenu(testCase,comp,menuitem) は UI コンポーネント comp の中央で右クリックを行い、コンテキスト メニューを開きます。次に、メソッドは指定された menuitem を選択します。
testCase
comp
menuitem
例
chooseContextMenu(testCase,comp,menuitem,location) は、コンポーネント内でコンテキスト メニューを開く場所を指定します。使用可能な 5 つのコンポーネント (座標軸、UI 座標軸、極座標軸、パネル UI figure) に対してのみ、場所を指定できます。
location
chooseContextMenu(testCase,uit,menuitem,indices) は、uit テーブル UI コンポーネント内の indices で指定されたセルを右クリックします。次に、メソッドは指定された menuitem を選択します。
uit
indices
すべて展開する
matlab.uitest.TestCase
テスト ケース。matlab.uitest.TestCase オブジェクトとして指定します。
コンテキスト メニューをもつ UI コンポーネント。UI コンポーネント オブジェクトとして指定します。コンテキスト メニューには menuitem で指定されるメニュー項目が含まれていなければなりません。コンテキスト メニューをサポートするコンポーネントには、イメージ、ボタン、スイッチ、座標軸、figure があります。
axes
uibutton
uicheckbox
uidatepicker
uiknob
uidropdown
uieditfield
uihyperlink
uiimage
uilabel
uilistbox
uipanel
polaraxes
uiradiobutton
uislider
uispinner
uiswitch
uitextarea
uitogglebutton
uitreenode
uiaxes
uifigure
例: uifigure
例: axes('Position',[0.1 0.1 .6 .6])
axes('Position',[0.1 0.1 .6 .6])
例: uispinner('Limits',[0 10],'Value',5)
uispinner('Limits',[0 10],'Value',5)
matlab.ui.container.Menu
テスト中に選択するコンテキスト メニュー項目。matlab.ui.container.Menu オブジェクトとして指定します。メニュー項目は関数 uimenu を使用して作成されます。
uimenu
UI コンポーネント内でコンテキスト メニューを開く場所。点の座標軸として指定します。location の形式は UI コンポーネントによって異なります。
座標軸および UI 座標軸 — x 座標、y 座標、およびオプションで z 座標を含む、1 行 2 列または 1 行 3 列の数値配列。
極座標軸 — θ 座標および r 座標を含む、1 行 2 列の数値配列。
パネル — x 座標および y 座標を含む、1 行 2 列の数値配列。コンポーネントの左下隅からのピクセル単位の点の座標を指定します。
UI Figure — x 座標および y 座標を含む、1 行 2 列の数値配列。コンポーネントの左下隅からの点の座標を指定します。
例: [32.5 13 0.25] (UI 座標軸)
[32.5 13 0.25]
例: [pi/2 0.5] (極座標軸)
[pi/2 0.5]
例: [100 200] (UI Figure)
[100 200]
matlab.ui.control.Table
ターゲットのテーブル UI コンポーネント。matlab.ui.control.Table オブジェクトとして指定します。テーブル UI コンポーネントは、関数 uitable で作成されます。
uitable
右クリックするテーブル セルのインデックス。行インデックスが列インデックスの前に示される 1 行 2 列のベクトルとして指定します。
例: [2 3]
[2 3]
Sealed
true
メソッドの属性の詳細については、メソッドの属性を参照してください。
UI Figure に 2 つのメニュー項目をもつコンテキスト メニューを作成します。ContextMenu オブジェクトに figure の ContextMenu プロパティを設定して、figure にコンテキスト メニューを割り当てます。コンテキスト メニューを表示するには、Figure ウィンドウの任意の場所を右クリックします。
ContextMenu
fig = uifigure; cm = uicontextmenu(fig); m1 = uimenu(cm,'Text','Menu1'); m2 = uimenu(cm,'Text','Menu2'); fig.ContextMenu = cm;
対話型のテスト ケースを作成し、メニュー項目 m1 を選択します。コンテキスト メニューと青色の点が figure の中央に表示されます。次に、プログラムでの選択動作を表す 2 番目の青色の点が、選択されたメニュー項目の中央に表示され、非表示になります。
m1
tc = matlab.uitest.TestCase.forInteractiveUse; tc.chooseContextMenu(fig,m1)
UI Figure 内に Axes オブジェクトを作成します。2 つのメニュー項目をもつコンテキスト メニューを Axes オブジェクトに割り当てます。
Axes
fig = uifigure; ax = axes(fig); cm = uicontextmenu(fig); m1 = uimenu(cm,'Text','Menu1'); m2 = uimenu(cm,'Text','Menu2'); ax.ContextMenu = cm;
対話的なテストケースを作成し、その座標軸のコンテキスト メニューを座標 (0.85,0.2) で開いてメニュー項目 m2 を選択します。コンテキスト メニューと青色の点が指定された座標軸の座標に表示されます。次に、プログラムでの選択動作を表す 2 番目の青色の点が、2 番目のメニュー項目の中央に表示され、非表示になります。
m2
tc = matlab.uitest.TestCase.forInteractiveUse; tc.chooseContextMenu(ax,m2,[0.85 0.2]);
異なるデータ型が混在して含まれるテーブル UI コンポーネントを作成します。次に、2 つの項目をもつコンテキスト メニューをテーブルに割り当てます。
fig = uifigure; uit = uitable(fig); d = {'Male',52,true;'Male',40,true;'Female',25,false}; uit.Data = d; cm = uicontextmenu(fig); m1 = uimenu(cm,'Text','Menu1'); m2 = uimenu(cm,'Text','Menu2'); uit.ContextMenu = cm;
対話型のテスト ケースを作成し、インデックス (1,1) をもつテーブル セル内でコンテキスト メニューを開いてメニュー項目 m2 を選択します。
tc = matlab.uitest.TestCase.forInteractiveUse; tc.chooseContextMenu(uit,m2,[1 1])
任意の測定単位を使用して、UI Figure 上のジェスチャの位置を指定できます。以前のリリースでは、メソッドにより、Units プロパティが "pixels" に設定されている Figure に対してのみ座標を指定できます。
Units
"pixels"
アクティブな右の y 軸をもつ座標軸または UI 座標軸上のジェスチャの位置を指定することはサポートされなくなりました。グラフに 2 つの y 軸がある場合は、ジェスチャを実行する前に、左の y 軸に関連付けられている側をアクティブにします。以前のリリースでは、右側がアクティブな座標軸または UI 座標軸上の位置を指定すると、アプリ テスト フレームワークはその位置を左の y 軸を基準にして解釈します。これにより、ジェスチャが予期しない位置で発生したり、失敗したりする恐れがあります。
入れ子にされたノードを操作するためにツリー ノードを展開する必要があるユーザーの操作をより忠実に再現するために、折りたたまれたツリー ノードで chooseContextMenu メソッドを使用して動作を実行するときにノード展開コールバックが実行されます。コールバックはツリーの NodeExpandedFcn プロパティを設定することで指定できます。
chooseContextMenu
NodeExpandedFcn
たとえば、入れ子にされたツリー ノードのメニュー項目をプログラムで選択し、プログラムによって展開されたすべてのノードのテキストを表示します。
fig = uifigure; t = uitree(fig); t.NodeExpandedFcn = @(src,event) disp(event.Node.Text); parent = uitreenode(t,"Text","Runners"); child1 = uitreenode(parent,"Text","Joe"); child2 = uitreenode(parent,"Text","Linda"); cm = uicontextmenu(fig); m1 = uimenu(cm,"Text","Menu1"); m2 = uimenu(cm,"Text","Menu2"); child2.ContextMenu = cm; testCase = matlab.uitest.TestCase.forInteractiveUse; testCase.chooseContextMenu(child2,m1)
コールバックを実行せずに R2023b 以前の動作を維持する場合は、動作の実行前にツリー ノードを展開します。次のコードでは、コールバックは実行されません。
fig = uifigure; t = uitree(fig); t.NodeExpandedFcn = @(src,event) disp(event.Node.Text); parent = uitreenode(t,"Text","Runners"); child1 = uitreenode(parent,"Text","Joe"); child2 = uitreenode(parent,"Text","Linda"); cm = uicontextmenu(fig); m1 = uimenu(cm,"Text","Menu1"); m2 = uimenu(cm,"Text","Menu2"); child2.ContextMenu = cm; testCase = matlab.uitest.TestCase.forInteractiveUse; expand(parent) testCase.chooseContextMenu(child2,m1)
右クリックでハイパーリンク コンポーネント内のコンテキスト メニューが開くかをテストできます。
右クリックをテストして、ラベル コンポーネント内でコンテキスト メニューを開くことができます。
右クリックをテストして、パネルおよびテーブル UI コンポーネント内でコンテキスト メニューを開くことができます。
choose
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ