Procedura: Aggiungere controller del menu le barre degli strumenti
Un controller di menu viene visualizzata una barra degli strumenti come pulsante che presenta una freccia a discesa accanto. Quando un utente fa clic sul controller di menu, un menu visualizza che contiene i gruppi con il controller del menu come padre. Due esempi dei controller del menu di Visual Studio sono la casella di Ricerca nella barra degli strumenti principale e il selettore di oggetti nella parte superiore della finestra di Proprietà .
Quando un utente fa clic su un comando nell'elenco a discesa che viene associato a un controller di menu, il comando viene eseguito e il nome del comando viene visualizzato sul pulsante del controller menu. Per eseguire di nuovo il comando, l'utente può fare clic sul pulsante.
Nota
Sebbene sia possibile inserire un controller di menu in un menu, è consigliabile utilizzare un sottomenu anziché perché è più facile da distribuire e sono più coerente con le interfacce utente comuni.
Controller del menu hanno le seguenti caratteristiche:
L'icona e il testo del primo comando visibile nell'elenco a discesa viene visualizzato sul pulsante del controller menu.
Quando un comando nell'elenco a discesa viene fatto clic su, l'icona e il testo del comando viene visualizzato sul pulsante.
L'icona o il testo di un comando, o entrambi, possono essere visualizzati.
Il pulsante è possibile configurare eseguire lo stesso comando ogni volta che si fa clic su. In questo caso, quando un utente fa clic su un comando nell'elenco a discesa, viene eseguito ma il relativo nome non viene visualizzato sul pulsante.
Per modificare queste caratteristiche, applicare i flag nel file di .vsct in cui il controller di menu viene definito. Per ulteriori informazioni, vedere Tabella dei comandi di Visual Studio (. file di Vsct).
Creare un controller del menu
Per creare e aggiungere un controller del menu
Creare un progetto package VS, o aprire un progetto esistente package VS che include un file di .vsct.
Aprire il file di .vsct nell'editor.
Nella sezione che è tramite la Elemento Symbols, trovare Elemento GuidSymbol contenente i menu, gruppi e controlli. per impostazione predefinita, è denominato GUID <ProjectName> CmdSet.
Come illustrato nell'esempio seguente, aggiungere Elemento IDSymbol al controller il menu, ogni comando che ospiterà e uno o più gruppi di controlli.
<IDSymbol name="TestMenuController" value="0x1300" /> <IDSymbol name="TestMenuControllerGroup" value="0x1060" /> <IDSymbol name="cmdidMCItem1" value="0x0130" /> <IDSymbol name="cmdidMCItem2" value="0x0131" /> <IDSymbol name="cmdidMCItem3" value="0x0132" />
In Elemento Commands, creare un Oggetto. Menus Element
Nell'elemento di Menus , definire il controller del menu come menu, come illustrato di seguito.
Impostare gli attributi di id e di guid al GUID: ID del nuovo controller del menu.
Il GUID: La coppia di ID è tramite gli attributi di name degli elementi di IDSymbol e di GuidSymbol nella definizione del controller menu nella sezione di Symbols .
Impostare l'attributo di priority per determinare la posizione del controller di menu nel gruppo padre.
Impostare l'attributo di type aMenuController o a MenuControllerLatched.
Il valore di MenuController significa che il controller del menu vengono visualizzati inizialmente il primo comando visibile.
Il valore di MenuControllerLatched significa che il controller di menu viene utilizzato il primo comando visibile selezionato come il comando vengono visualizzati inizialmente. Se nessun comando è selezionato, il primo comando visibile visualizzare.
Nell'elemento di Menu , creare un Elemento Parent oggetto e impostare gli attributi di id e di guid al GUID: ID del gruppo che ospiterà il controller il menu. Può trattarsi di un gruppo esistente di Visual Studio, ad esempio guidStdEditor: IDG_VS_EDITTOOLBAR_COMMENT, che contiene i pulsanti di rimuovere il commento e di commento sulla barra degli strumenti dell'editor, o può essere un gruppo definito dall'utente.
È possibile omettere l'elemento di Parent se il controller del menu verrà inserito mediante la posizione del comando. A tale scopo, prima della sezione di Symbols , creare un Oggetto. Elemento CommandPlacements Aggiungere Elemento CommandPlacement con il GUID: ID del controller menu, una priorità e di un oggetto padre.
Più posizioni di comando che hanno lo stesso GUID: L'ID ma ha cause diverse di padre un controller di menu da visualizzare in più posizioni. Per ulteriori informazioni, vedere Elemento CommandPlacements e Procedura: Creare gruppi riutilizzabili di pulsanti.
After the parent, use the Elemento Strings to create a section that contains a Elemento ButtonText and a Elemento CommandName. L'elemento di ButtonText utilizzato per impostare il nome della barra degli strumenti visualizzato nell'IDE. L'elemento di CommandName utilizzato per impostare il nome del comando che può essere digitato nella finestra di commando per accedere alla barra degli strumenti.
Nell'esempio seguente viene definito un controller del menu.
<Menu guid="guidTWToolbarCmdSet" id="TestMenuController" priority="0x0100" type="MenuController"> <Parent guid="guidTWToolbarCmdSet" id="TWToolbarGroup" /> <CommandFlag>IconAndText</CommandFlag> <CommandFlag>TextChanges</CommandFlag> <CommandFlag>TextIsAnchorCommand</CommandFlag> <Strings> <ButtonText>Test Menu Controller</ButtonText> <CommandName>Test Menu Controller</CommandName> </Strings> </Menu>
In Elemento Groups, creare un oggetto Elemento Group per contenere i controlli che si desidera visualizzare nel controller il menu.
Impostare la priorità del gruppo per determinare dove verrà visualizzato nel controller del menu se sono presenti più gruppi.
Impostare l'elemento padre del gruppo al GUID: ID del controller il menu.
Il seguente gruppo viene visualizzato nel controller del menu nell'esempio precedente.
<Group guid="guidTWToolbarCmdSet" id="TestMenuControllerGroup" priority="0x000"> <Parent guid="guidTWToolbarCmdSet" id="TestMenuController" /> </Group>
In Elemento Buttons, aggiungere un oggetto Elemento Button per ogni comando che si desidera aggiungere al controller il menu. Ogni comando deve specificare come relativo padre di un gruppo sul controller di menu, come illustrato nell'esempio seguente.
<Button guid="guidTWToolbarCmdSet" id="cmdidMCItem1" priority="0x0000" type="Button"> <Parent guid="guidTWToolbarCmdSet" id="TestMenuControllerGroup" /> <Icon guid="guidImages" id="bmpPic1" /> <CommandFlag>IconAndText</CommandFlag> <Strings> <ButtonText>MC Item 1</ButtonText> <CommandName>MC Item 1</CommandName> </Strings> </Button> <Button guid="guidTWToolbarCmdSet" id="cmdidMCItem2" priority="0x0100" type="Button"> <Parent guid="guidTWToolbarCmdSet" id="TestMenuControllerGroup" /> <Icon guid="guidImages" id="bmpPic2" /> <CommandFlag>IconAndText</CommandFlag> <Strings> <ButtonText>MC Item 2</ButtonText> <CommandName>MC Item 2</CommandName> </Strings> </Button> <Button guid="guidTWToolbarCmdSet" id="cmdidMCItem3" priority="0x0200" type="Button"> <Parent guid="guidTWToolbarCmdSet" id="TestMenuControllerGroup" /> <Icon guid="guidImages" id="bmpPicSearch" /> <CommandFlag>IconAndText</CommandFlag> <Strings> <ButtonText>MC Item 3</ButtonText> <CommandName>MC Item 3</CommandName> </Strings> </Button>
Per forzare il controller del menu (...)per visualizzare lo stesso comando ogni volta che si fa clic su, impostare il flag di FixMenuController del comando.
L'elemento di Parent è possibile omettere per i controlli che verranno inseriti utilizzando la posizione del comando.
Vedere anche
Attività
procedura dettagliata: Aggiunta di un controller di menu a una barra degli strumenti
Concetti
Altre risorse
Procedure dettagliate per i controlli, i menu e le barre degli strumenti
Controlli, menu e barre degli strumenti
Attività comuni con i controlli, i menu e le barre degli strumenti