exponenta event banner

Определение контекстного меню

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

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

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

Программировать контекстное меню, когда пользователь должен иметь возможность:

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

  • Укажите, что представляет собой каждая опция, с помощью метки меню.

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

Определение контекстного меню

  • Создать 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

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

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

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