Main Content

La traducción de esta página está obsoleta. Haga clic aquí para ver la última versión en inglés.

Definir un menú contextual

En el siguiente ejemplo se muestra cómo definir un menú contextual.

Cuándo utilizar un menú contextual

Los menús contextuales aparecen cuando los usuarios hacen clic con el botón secundario en el objeto de gráficas al que ha asignado el menú contextual. Los menús contextuales le permiten proporcionar opciones a los usuarios para interactuar con los objetos de gráficas.

Programe un menú contextual cuando desee que un usuario pueda:

  • Elegir entre opciones específicas haciendo clic con el botón secundario en un objeto de gráficas.

  • Facilitar una idea de lo que es cada opción a través de la etiqueta de menú.

  • Obtener un resultado específico sin conocer las combinaciones de teclas.

Cómo definir un menú contextual

  • Cree un objeto ContextMenu llamando a la función uicontextmenu con un argumento de salida.

  • Cree cada elemento de menú mediante uimenu.

  • Defina los callbacks de cada elemento de menú en el menú contextual.

  • Asocie los elementos de menú individuales al menú contextual y asigne el callback correspondiente.

  • Asigne el objeto ContextMenu a la propiedad ContextMenu del objeto para el que define el menú del contexto.

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

La función defineCM devuelve el identificador al menú contextual que crea. Asigne este identificador a la propiedad ContextMenu de los objetos de línea a medida que los crea la función plot:

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

Utilice un patrón de programación similar para sus requisitos específicos.