exponenta event banner

Передать щелчок мыши скрытому объекту

В этом примере показано, как передать щелчки мыши скрытому объекту.

Установите PickableParts свойства графического объекта для none для предотвращения захвата объекта щелчком мыши. Этот пример:

  • Определяет контекстное меню для осей, которые вызывают hold со значениями on или off

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

axesHoldCM функция определяет контекстное меню и возвращает его дескриптор.

function cmHandle = axesHoldCM
   cmHandle = uicontextmenu;
   uimenu(cmHandle,'Label','hold on','Callback',@holdOn);
   uimenu(cmHandle,'Label','hold off','Callback',@holdOff);
end
function holdOn(~,~)
   fig = gcbf;
   ax = fig.CurrentAxes;
   hold(ax,'on')
end
function holdOff(~,~)
   fig = gcbf;
   ax = fig.CurrentAxes;
   hold(ax,'off')
end

Создайте гистограмму и задайте PickableParts свойства объектов Bar:

bar(1:20,'PickableParts','none')

Создайте контекстное меню для текущих осей:

ax = gca;
ax.ContextMenu = axesHoldCM

Щелкните правой кнопкой мыши на столбцах графика и отобразите контекстное меню осей: