MATLAB Function Reference | ![]() ![]() |
表示
handle = uicontextmenu('PropertyName',PropertyValue,...);
詳細
uicontextmenu
は、コンテキストメニューを作成します。これは、ユーザが、グラフィカルオブジェクト上を右クリックすると、表れるメニューです。
関数 uimenu
を使って、コンテキストメニューを作成します。メニュー項目は、uimenu
コマンドがM-ファイル内にある順番に表示されます。 UIContextMenu
プロパティを使ってオブジェクトを設定し、プロパティ値としてコンテキストメニューのハンドルを設定することで、コンテキストメニューをオブジェクトと関連付けます。
プロパティ
つぎの表は、uicontextmenu
オブジェクトのプロパティを機能別にまとめたものです。プロパティ名は、詳細な説明とリンクされています。
プロパティ名 |
プロパティの詳細 |
プロパティ値 |
スタイルや外観の制御 | ||
Visible |
Uicontextmenu の可視化 |
値: on , off デフォルト: off |
Position |
Visible が、on に設定されている場合の uicontextmenu の位置 |
値: 2要素ベクトル デフォルト: [0 0] |
General Information About the Object | ||
Children |
uicontextmenu に対して定義される uimenus |
値: 行列 |
Parent |
Uicontextmenu オブジェクトの親 |
値: スカラのフィギュアハンドル |
Tag |
ユーザ定義のオブジェクトの識別子 |
値: 文字列 |
Type |
グラフィックオブジェクトのクラス |
値: 文字列 (参照のみ) デフォルト: uicontrol |
UserData |
ユーザ定義のデータ |
値: 行列 |
コールバックルーチン実行の制御 | ||
BusyAction |
コールバックルーチンの割り込み |
値: cancel , queue デフォルト: queue |
Callback |
コールバック挙動の制御 |
値: 文字列 |
CreateFcn |
オブジェクト作成中に実行するコールバックルーチン |
値: 文字列 |
DeleteFcn |
オブジェクト削除中に実行するコールバックルーチン |
値: 文字列 |
Interruptible |
コールバックルーチンの割り込みモード |
値: on , off デフォルト: on |
オブジェクトへのアクセスに関する制御 | ||
HandleVisibility |
ハンドルが、コマンドラインや GUIs からアクセス可能か否か |
値: on , callback , off デフォルト: on |
例題
つぎのステートメントは、ラインと対応付けられたコンテキストメニューを定義します。ユーザがライン上の任意の位置で右ボタンクリックしたときに、メニューが表示され、ラインスタイルを変更できます。
% コンテキストメニューの定義 cmenu = uicontextmenu; % ラインを定義し、コンテキストメニューと関連付ける hline = plot(1:10, 'UIContextMenu', cmenu); % コンテキストメニューの項目に対するコールバックを定義 cb1 = ['set(hline, ''LineStyle'', ''--'')']; cb2 = ['set(hline, ''LineStyle'', '':'')']; cb3 = ['set(hline, ''LineStyle'', ''-'')']; % コンテキストメニューの項目を定義 item1 = uimenu(cmenu, 'Label', 'dashed', 'Callback', cb1); item2 = uimenu(cmenu, 'Label', 'dotted', 'Callback', cb2); item3 = uimenu(cmenu, 'Label', 'solid', 'Callback', cb3);
ユーザがライン上で右ボタンクリックしたときに、下図のようにコンテキストメニューが表示されます。
オブジェクトの階層構造
参考
![]() | type | uicontextmenu Properties | ![]() |