Condividi tramite


Elemento Menu

Definisce una voce di menu. Questi sono i sei tipi di menu: Contesto, Menu, MenuController, MenuControllerLatched, Barra degli strumenti e ToolWindowToolbar.

Sintassi

<Menu guid="guidMyCommandSet" id="MyCommand" priority="0x100" type="button">
  <Parent>... </Parent>
  <CommandFlag>... </CommandFlag>
  <Strings>... </Strings>
</Menu>

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Attributo Descrizione
guid Obbligatorio. GUID dell'identificatore di comando GUID/ID.
ID Obbligatorio. ID dell'identificatore di comando GUID/ID.
priority Facoltativo. Valore numerico che specifica la posizione relativa di un menu in un gruppo di menu.
toolbarPriorityInBand Facoltativo. Valore numerico che specifica la posizione relativa di una barra degli strumenti in una banda quando la finestra è ancorata.
type Facoltativo. Valore enumerato che specifica il tipo di elemento.

Se non è presente, il tipo predefinito è Menu.

Contesto
Menu di scelta rapida visualizzato quando un utente fa clic con il pulsante destro del mouse su una finestra. Un menu di scelta rapida presenta le caratteristiche seguenti:

- Non usa i campi Padre e Priorità quando il menu deve essere visualizzato come menu di scelta rapida.
- Può essere usato come sottomenu e anche come menu di scelta rapida. In questo caso, vengono rispettati i campi ID gruppo e Priorità .
- Non è sempre disponibile.

Viene visualizzato un menu di scelta rapida solo quando sono soddisfatte le condizioni seguenti:

- Viene visualizzata la finestra che lo ospita.
- Un gestore del mouse nel VSPackage rileva un clic con il pulsante destro del mouse sulla finestra e quindi chiama un metodo che gestisce il comando.
- Il menu di scelta rapida viene visualizzato chiamando il ShowContextMenu metodo (approccio consigliato) o il ShowContextMenu metodo .

Menu
Fornisce un menu a discesa. Un menu a discesa presenta le caratteristiche seguenti:

- Rispetta l'elemento Padre nella relativa definizione.
- Deve avere un gruppo padre o un oggetto CommandPlacement a un gruppo.
- Può essere un sottomenu in qualsiasi altro tipo di menu.
- Viene visualizzato automaticamente ogni volta che viene visualizzato il menu padre.
- Non richiede l'implementazione di alcun codice VSPackage per visualizzarla.

MenuController
Fornisce un menu a discesa con pulsante a discesa, che in genere viene usato nelle barre degli strumenti. Un menu MenuController presenta le caratteristiche seguenti:

- Deve essere contenuto in un altro menu tramite Parent o CommandPlacement.
- Rispetta l'elemento Padre nella relativa definizione.
- Può avere qualsiasi tipo di menu come elemento padre.
- Viene reso disponibile automaticamente ogni volta che viene visualizzato il menu padre.
- Non richiede il supporto a livello di codice per visualizzare il menu.

Nel pulsante di menu viene visualizzato un comando dal menu a pulsante di divisione. Il comando visualizzato presenta una delle caratteristiche seguenti:

- È l'ultimo comando usato se il comando è ancora visualizzato e abilitato.
- È il primo comando visualizzato.

MenuControllerLatched
Fornisce un menu a discesa con pulsante a discesa per il quale è possibile specificare un comando come selezione predefinita contrassegnando il comando come latch.

Un comando latch è un comando contrassegnato nel menu come selezionato, in genere visualizzando un segno di spunta. Un comando può essere contrassegnato come latch se ha il flag OLECMDF_LATCHED impostato su di esso in un'implementazione del QueryStatus metodo dell'interfaccia IOleCommandTarget . Un menu MenuControllerLatched presenta le caratteristiche seguenti:

- Deve essere contenuto in un altro menu tramite un gruppo padre o CommandPlacement.
- Rispetta l'elemento Padre nella relativa definizione.
- Può avere qualsiasi tipo di menu come elemento padre.
- Viene reso disponibile ogni volta che viene visualizzato il menu padre.
- Non richiede il supporto a livello di codice per visualizzare il menu.

Nel pulsante di menu viene visualizzato un comando dal menu a pulsante di divisione. Il comando visualizzato presenta una delle caratteristiche seguenti:

- È il primo comando visualizzato che è latched.
- È il primo comando visualizzato.

Barra degli strumenti
Fornisce una barra degli strumenti. Una barra degli strumenti presenta le caratteristiche seguenti:

- Ignora l'elemento Padre nella relativa definizione.
- Non è possibile creare un sottomenu di un gruppo, nemmeno usando CommandPlacement.
- Può essere sempre visualizzato facendo clic su Barre degli strumenti nel menu Visualizza .
- Può essere visualizzato usando visibilityItem.
- Non richiede alcun codice per crearlo. Per un esempio su come creare una barra degli strumenti, vedere Aggiungere una barra degli strumenti.

ToolWindowToolbar
Fornisce una barra degli strumenti collegata a una finestra degli strumenti specifica, proprio come una barra degli strumenti è collegata all'ambiente di sviluppo.

- Ignora l'elemento Padre nella relativa definizione.
- Non è possibile creare un sottomenu di un gruppo, nemmeno usando CommandPlacement.
- Viene visualizzato solo quando viene visualizzata la finestra degli strumenti che ospita la barra degli strumenti e il pacchetto VSPackage aggiunge in modo esplicito la barra degli strumenti alla finestra degli strumenti. Questa operazione viene in genere eseguita quando viene creata la finestra degli strumenti ottenendo la proprietà host della barra degli strumenti (rappresentata dall'interfaccia IVsToolWindowToolbarHost ) dalla cornice della finestra degli strumenti e quindi chiamando il AddToolbar metodo .
Condizione Facoltativo. Vedere Attributi condizionali.

Elementi figlio

Elemento Descrizione
Parent Facoltativo. Elemento padre della voce di menu.
CommandFlag Obbligatorio. Vedere Elemento flag command. I valori CommandFlag validi per un menu sono i seguenti:

- AlwaysCreate
- DefaultDocked
- DefaultInvisible : questo flag non influisce sulla visualizzazione delle barre degli strumenti.
- DontCache
- DynamicVisibility : questo flag non influisce sulla visualizzazione delle barre degli strumenti.
- IconAndText
- NoCustomize
- NotInTBList
- NoToolbarClose
- TextChanges
- TextIsAnchorCommand
Stringhe Obbligatorio. Vedere Elemento Strings. L'elemento figlio ButtonText deve essere definito.
Annotazione Commento facoltativo.

Elementi padre

Elemento Descrizione
Elemento Menus Definisce tutti i menu implementati da un VSPackage.

Esempio

<Menu guid="cmdGuidWidgetCommands" id="menuIDEditWidget"
  priority="0x0002" type="Menu">
  <Parent guid="cmdSetGuidWidgetCommands" id="groupIDFileEdit"/>
  <CommandFlag>AlwaysCreate</CommandFlag>
  <Strings>
    <ButtonText>Edit Widget</ButtonText>
  </Strings>
</Menu>

Vedi anche