Main Content

Pasar el clic del ratón al objeto oculto

Este ejemplo muestra cómo pasar los clics del ratón a un objeto oculto.

Establezca la propiedad PickableParts para un objeto de gráficas en none para evitar que el objeto capte un clic de ratón. Este ejemplo:

  • Define un menú contextual para los ejes que denomina hold con los valores on o off

  • Crea una gráfica en la que ningún objeto de datos puede captar el clic de ratón dejando así que todos los clics secundarios pasen a los ejes y recurran al menú contextual.

La función axesHoldCM define un menú contextual y devuelve sus identificadores.

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

Cree una gráfica de barras y establezca la propiedad PickableParts de los objetos de la barra:

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

Cree el menú contextual para los ejes actuales:

ax = gca;
ax.ContextMenu = axesHoldCM

Haga clic con el botón secundario sobre las barras en la gráfica y muestre el menú contextual de los ejes: