コンテキスト メニューの定義
この例では、コンテキスト メニューを定義する方法を説明します。
コンテキスト メニューの使用タイミング
コンテキスト メニューは、それを割り当てたグラフィックス オブジェクトをユーザーが右クリックしたときに表示されます。コンテキスト メニューにより、グラフィックス オブジェクト操作の選択肢をユーザーに提供できます。
コンテキスト メニューは、ユーザーが以下の操作ができるようにする場合にプログラムします。
グラフィックス オブジェクトを右クリックして特定のオプションから選択する。
メニュー ラベルにどのオプションがあるかを表示する。
キーの組み合わせがわからない場合でも、特定の結果をもたらす。
コンテキスト メニューの定義方法
出力引数を指定して関数
uicontextmenuを呼び出し、ContextMenuオブジェクトを作成します。uimenuを使用して、各メニュー項目を作成します。コンテキスト メニューのメニュー項目ごとにコールバックを定義します。
コンテキスト メニューを各メニュー項目の親とし、それぞれにコールバックを割り当てます。
コンテキスト メニューを定義するオブジェクトの
ContextMenuプロパティに、ContextMenuオブジェクトを割り当てます。
function cm = defineCM cm = uicontextmenu; uimenu(cm,"Text","Wider","MenuSelectedFcn",@increaseLW); uimenu(cm,"Text","Inspect","MenuSelectedFcn",@inspectLine); end function increaseLW(~,~) % Increase line width h = gco; orgLW = h.LineWidth; h.LineWidth = orgLW+1; end function inspectLine(~,~) % Open the property inspector h = gco; inspect(h) end
関数 defineCM は、それ自身が作成したコンテキスト メニュー オブジェクトを返します。関数 plot で作成された line オブジェクトの ContextMenu プロパティにこのオブジェクトを割り当てます。
plot(rand(1,5),"ContextMenu",defineCM)