define un elemento de menú. Estas son las seis clases de menús: contexto, menú, MenuController, MenuControllerLatched, barra de herramientas, y ToolWindowToolbar.
En las próximas secciones se describen los atributos, los elementos secundarios y los elementos primarios.
Atributos
Atributo
Descripción
guid
Obligatorio. GUID del identificador de comandos de GUID/ID.
id
Obligatorio. Identificador del identificador de comandos de GUID/ID.
priority
Opcional. un valor numérico que especifica la posición relativa de un menú en un grupo de menús.
ToolbarPriorityInBand
Opcional. un valor numérico que especifica la posición relativa de una barra de herramientas en una banda cuando la ventana está acoplada.
type
Opcional. Un valor enumerado que especifica el tipo de elemento.
Si no está presente, el tipo predeterminado es menú.
Contexto
Un menú contextual que se muestra cuando un usuario hace clic con el botón secundario en una ventana. un menú contextual tiene las siguientes características:
No utiliza los campos del elemento primario y la prioridad cuando el menú debe aparecer como un menú contextual.
Se puede utilizar como submenú y también como menú contextual. En este caso, se respetan los campos de Group ID y prioridad.
No siempre está disponible.
Se muestra un menú contextual sólo cuando se cumplen las condiciones siguientes:
La ventana que hospeda se muestra.
Un controlador del mouse en el paquete VSPackage detecta un clic con el botón secundario en la ventana y después llama a un método que controle el comando.
El menú contextual se muestra llamando al método ShowContextMenu (el enfoque recomendado) o el método de ShowContextMenu .
Menu
proporciona un menú desplegable. un menú desplegable tiene las siguientes características:
Respeta al elemento primario en su definición.
Debe tener un grupo primario, o un CommandPlacement un grupo.
Puede ser un submenú en cualquier otro tipo de menú.
Automáticamente se muestra siempre que se muestre el menú principal.
No requiere la aplicación de ningún código de VSPackage que muestra.
MenuController
Proporciona un menú desplegable del botón de expansión, que se utiliza normalmente en barras de herramientas. un menú de MenuController tiene las siguientes características:
Debe encontrarse en otro menú con primarias o CommandPlacement.
Respeta al elemento primario en su definición.
puede tener cualquier clase de menú como su elemento primario.
Se crea automáticamente disponible siempre que se muestre el menú principal.
No requiere el soporte técnico crear el menú mostrado.
Se muestra un comando de menú botón de expansión en el botón de menú. El comando mostrado tiene una de las siguientes características:
Es el comando pasado utilizado si muestran y están habilitados al comando.
Es el primer comando mostrado.
MenuControllerLatched
Proporciona un menú desplegable del botón de expansión para que el comando puede especificarse como la selección predeterminada marcando el comando como se trabado.
Un comando trabado es un comando que se marca en el menú como seleccionado, normalmente con una marca de verificación. Un comando puede marcarse como se trabado si tiene el indicador de OLECMDF_LATCHED establecido en él en una implementación del método de QueryStatus de la interfaz de IOleCommandTarget . un menú de MenuControllerLatched tiene las siguientes características:
Debe encontrarse en otro menú con un grupo primario o un CommandPlacement.
Respeta al elemento primario en su definición.
puede tener cualquier clase de menú como su elemento primario.
Está disponible siempre que se muestre el menú principal.
No requiere el soporte técnico crear el menú mostrado.
Se muestra un comando de menú botón de expansión en el botón de menú. El comando mostrado tiene una de las siguientes características:
Es el primer comando muestra que se trabado.
Es el primer comando mostrado.
Barra de herramientas
proporciona una barra de herramientas. una barra de herramientas tiene las siguientes características:
Omite el elemento primario en su definición.
No se puede hacer un submenú de cualquier grupo, ni siquiera utilizando CommandPlacement.
Puede mostrar siempre haciendo clic barras de herramientas en el menú de Ver .
Proporciona una barra de herramientas que se asocia a una ventana de herramientas concreta, igual que una barra de herramientas se asocia al entorno de desarrollo.
Omite el elemento primario en su definición.
No se puede hacer un submenú de cualquier grupo, ni siquiera utilizando CommandPlacement.
Sólo se muestra cuando la ventana de herramientas que hospeda la barra de herramientas se muestran y el paquete VSPackage agrega explícitamente la barra de herramientas en la ventana de herramientas. Esto suele hacerse cuando la ventana de herramientas se crea obteniendo la propiedad en la barra de herramientas (como se representa por la interfaz de IVsToolWindowToolbarHost ) del cuadro de la ventana de herramientas y después llamando al método AddToolbar .