Main Content

コンテキスト メニューの定義

この例では、コンテキスト メニューを定義する方法を説明します。

コンテキスト メニューの使用タイミング

コンテキスト メニューは、それを割り当てたグラフィックス オブジェクトをユーザーが右クリックしたときに表示されます。コンテキスト メニューにより、グラフィックス オブジェクト操作の選択肢をユーザーに提供できます。

コンテキスト メニューは、ユーザーが以下の操作ができるようにする場合にプログラムします。

  • グラフィックス オブジェクトを右クリックして特定のオプションから選択する。

  • メニュー ラベルにどのオプションがあるかを表示する。

  • キーの組み合わせがわからない場合でも、特定の結果をもたらす。

コンテキスト メニューの定義方法

  • 出力引数を指定して関数 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)

参考

|

関連するトピック