Задайте контекстное меню

В этом примере показано, как задать контекстное меню.

Когда использовать контекстное меню

Контекстные меню отображаются при щелчке правой кнопкой мыши по графическому объекту, для которого вы назначаете контекстное меню. Контекстные меню позволяют вам предоставлять пользователям варианты для взаимодействия с графическими объектами.

Программируйте контекстное меню, когда хотите, чтобы пользователь мог:

  • Выберите один из определенных опций, щелкнув правой кнопкой мыши графический объект.

  • Укажите каждую опцию с помощью метки меню.

  • Получите определенный результат, не зная ключевых комбинаций.

Как задать контекстное меню

  • Создайте ContextMenu объект вызовом uicontextmenu функция с выходным аргументом.

  • Создайте каждый элемент меню используя uimenu.

  • Задайте коллбэки для каждого элемента меню в контекстном меню.

  • Отобразите отдельные элементы меню в контекстном меню и присвойте соответствующий коллбэк.

  • Назначьте ContextMenu объект для ContextMenu свойство объекта, для которого вы определяете контекстное меню.

function cmHandle = defineCM
   cmHandle = uicontextmenu;
   uimenu(cmHandle,'Label','Wider','Callback',@increaseLW);
   uimenu(cmHandle,'Label','Inspect','Callback',@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

The defineCM функция возвращает указатель в контекстное меню, которое она создает. Присвойте этот указатель ContextMenu свойство объектов линий по мере их создания plot функция:

plot(rand(1,5),'ContextMenu',defineCM)

Используйте аналогичный шаблон программирования для ваших конкретных требований.