open
UI figure 内の場所でコンテキスト メニューを開く
説明
例
指定した場所でコンテキスト メニューを開く
UI figure を作成します。2 つのサブメニューをもつコンテキスト メニューを作成し、UI figure に割り当てます。
fig = uifigure; cm = uicontextmenu(fig); m1 = uimenu(cm,'Text','Import Data'); m2 = uimenu(cm,'Text','Export Data'); fig.ContextMenu = cm;
次に、場所 (250,250)
でそのコンテキスト メニューを開きます。
open(cm,250,250)
未割り当てのコンテキスト メニューを開く
親である UI figure の空白エリア、または ButtonDownFcn
プロパティをサポートするグラフィックス オブジェクトで右クリックしたときに、未割り当てのコンテキスト メニューを開きます。
まず、openCtxtMenu.m
というプログラム ファイルを作成します。プログラム ファイル内で次を行います。
UI figure で UI 座標軸を作成し、その座標軸でデータをプロットします。
UI figure で 1 つのサブメニューをもつコンテキスト メニューを作成します。
WindowButtonDownFcn
プロパティをonButtonDown
というコールバック関数に設定します。onButtonDown
というコールバック関数を作成します。その中で、UI figure のSelectionType
プロパティをクエリして、選択が右クリックかどうかを判別します。右クリックが発生したら、CurrentPoint
プロパティからマウス ポインターの x 座標と y 座標を取得します。x 座標と y 座標は、返されるベクトルの 1 番目と 2 番目の要素です。次に、それらの座標でそのコンテキスト メニューを開きます。他の選択タイプが発生したら、コマンド ウィンドウにメッセージを表示します。
function openCtxtMenu fig = uifigure; ax = uiaxes(fig); plot(ax,magic(5)); cm = uicontextmenu(fig); m = uimenu(cm,'Text','Menu1'); fig.WindowButtonDownFcn = @onButtonDown; function onButtonDown(src,event) clickType = src.SelectionType; switch clickType case 'alt' x = src.CurrentPoint(1); y = src.CurrentPoint(2); open(cm,x,y) otherwise disp('Right-click to view context menu') end end end
プログラム ファイルを実行し、UI 座標軸上、または UI figure 内の空白スポット上で右クリックして、コンテキスト メニューを開きます。
openContextMenu
入力引数
cm
— コンテキスト メニュー オブジェクト
ContextMenu
オブジェクト
関数 uicontextmenu
で作成されたコンテキスト メニュー オブジェクト。
x
— x 座標
整数
x 座標。UI figure の左端を基準としたピクセル単位の整数として指定します。Figure の幅を超える値を指定すると、コンテキスト メニューは見えなくなります。
y
— y 座標
整数
y 座標。Figure の下端を基準としたピクセル単位の整数として指定します。Figure の高さを超える値を指定すると、コンテキスト メニューは見えなくなります。
coord
— ピクセル座標
整数の行ベクトル
ピクセル座標。整数値の 2 要素の行ベクトルとして指定します。
例: [100 150]
はピクセル座標 (100,150)
を指定します。
ヒント
コンテキスト メニューを閉じるには、キーを押すか、またはコンテキスト メニューの外でマウスをクリックします。コンテキスト メニューをプログラムで閉じることはできません。
アルゴリズム
コールバック関数 ContextMenuOpeningFcn
は、関数 open
を呼び出すときには実行されません。コールバック関数はユーザーの操作によってのみトリガーされます。
バージョン履歴
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)