Procedura: Creare gruppi riutilizzabili di pulsanti
Un gruppo di controlli è una raccolta di controlli che vengono sempre visualizzati insieme in un menu o una barra degli strumenti. Qualsiasi gruppo di controlli può essere riutilizzato assegnandolo ai menu padre diversi nella sezione di CommandPlacements del file di .vsct.
Gruppi di controlli in genere contiene pulsanti, ma possono anche contenere altri menu o caselle di combo .
Per creare un gruppo di pulsanti riutilizzabile
Creare un package VS eseguendo il modello del pacchetto di Visual Studio e comando di menu selezionato nella pagina di Opzioni selezionate di un VSPackage . In alternativa, è possibile aprire un progetto esistente che contiene un file di .vsct. Per ulteriori informazioni, vedere procedura dettagliata: Creazione di un comando di menu utilizzando il modello importa pacchetto Visual Studio.
Aprire il file di .vsct nel progetto.
Nella sezione di Symbols , individuare l'elemento di GuidSymbol che contiene i gruppi e controlli per il progetto.
per impostazione predefinita, è denominato GUID <ProjectName> CmdSet.
Aggiungere un elemento di IDSymbol al gruppo e uno per ciascun pulsante aggiunto al gruppo, come illustrato nell'esempio seguente.
<GuidSymbol name="guidButtonGroupCmdSet" value="{f69209e9-975a-4543-821d-1f4a2c52d737}"> <IDSymbol name="MyMenuGroup" value="0x1020" /> <IDSymbol name="cmdidMyCommand" value="0x0100" /> </GuidSymbol>
Per impostazione predefinita, il modello importa pacchetto viene creato un gruppo denominato MyGroup e un pulsante che presenta il nome fornito, insieme a una voce di IDSymbol per ciascuno.
Nella sezione di Groups , creare un nuovo elemento di gruppo che ha lo stesso guid e attributi di id di quelli forniti nella sezione di Symbols . È anche possibile utilizzare un gruppo esistente, o utilizzare la voce fornita dal modello del pacchetto, come illustrato nell'esempio seguente.
<Group guid="guidButtonGroupCmdSet" id="MyMenuGroup" priority="0x0600"> <Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_TOOLS"/> </Group>
Il gruppo predefinito, come illustrato nell'esempio, viene visualizzato nel menu di Visual Studio strumenti .
Per popolare un gruppo di pulsanti per il riutilizzo
È possibile inserire un comando o un menu in un gruppo utilizzando il gruppo come padre nella definizione di un comando o un menu, oppure inserendo il comando o dal menu del gruppo tramite la sezione diCommandPlacements .
Un pulsante viene definito come elemento di pulsante nella sezione di pulsanti . Definire un pulsante che presenta un gruppo come relativo padre, o utilizzare il pulsante fornito dal modello del pacchetto, come illustrato nell'esempio seguente.
<Button guid="guidButtonGroupCmdSet" id="cmdidMyCommand" priority="0x0100" type="Button"> <Parent guid="guidButtonGroupCmdSet" id="MyMenuGroup" /> <Icon guid="guidImages" id="bmpPic1" /> <Strings> <CommandName>cmdidMyCommand</CommandName> <ButtonText>My Command name</ButtonText> </Strings> </Button>
Se un controllo pulsante deve trovarsi in più gruppi, creare una voce nella sezione di CommandPlacements . Impostare gli attributi di id e di guid dell'elemento di CommandPlacement per corrispondere a quelle del pulsante che si desidera inserire quindi impostare guid e id dell'elemento di Elemento padre a quelle di gruppo-obiettivo, come illustrato nell'esempio seguente.
<CommandPlacements> <CommandPlacement guid="guidButtonGroupCmdSet" id="cmdidMyCommand" priority="0x105"> <Parent guid="guidButtonGroupCmdSet" id="MyMenuGroup" /> </CommandPlacement> </CommandPlacements>
Nota
Il valore del campo di Priority determina la posizione del comando nel nuovo gruppo di controlli.Le priorità definite nell'elemento di CommandPlacement eseguono l'override di tale set nella definizione di elemento.I controlli con valori di priorità inferiore vengono visualizzati prima dei controlli con valori con priorità più alta.I valori di priorità duplicati sono consentiti, ma la posizione relativa dei controlli che hanno lo stesso valore di priorità non può essere garantita perché l'ordine in cui il comando di devenv setup crea l'interfaccia finale dal Registro di sistema non può essere coerente.
Per inserire un gruppo riutilizzabile di pulsanti su un menu
Creare una voce nella sezione di CommandPlacements . Impostare il GUID e l'ID dell'elemento di CommandPlacement a quelli del gruppo e impostare l'elemento padre GUID e ID a quelli del percorso di destinazione. Si noti che un gruppo di controlli può essere incluso in più menu. Il menu padre può essere un creato, uno fornito da Visual Studio (come descritto in ShellCmdDef.vsct o in SharedCmdDef.vsct), o uno definito in un altro package VS. Il numero di livelli di elemento padre è illimitato a condizione che il menu padre che è connesso a Visual Studio o a un menu di scelta rapida che viene visualizzato da un VSPackage.
Nell'esempio seguente viene inserito il gruppo della barra degli strumenti di Esplora soluzioni , a destra degli altri pulsanti.
<CommandPlacements> <CommandPlacement guid="guidButtonGroupCmdSet" id="MyMenuGroup" priority="0x605"> <Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_TOOLS" /> </CommandPlacement> </CommandPlacements>
Vedere anche
Attività
Procedura: Creare e gestire i comandi in Vspackage (c#)
Altre risorse
Attività comuni con i controlli, i menu e le barre degli strumenti