Freigeben über


Gewusst wie: Erstellen von wiederverwendbaren Gruppen Schaltflächen

Eine Befehlsgruppe ist eine Auflistung von Befehlen, die immer zusammen in einem Menü oder einer Symbolleiste angezeigt. Jede Befehlsgruppe wiederverwendet werden kann, indem er auf die verschiedenen Elemente im Menü CommandPlacements-Abschnitt der .vsct-Datei zuweist.

Befehlsgruppen enthalten in der Regel Schaltflächen, aber sie können andere Menüs oder combo Felder enthalten.

So erstellen Sie eine wiederverwendbare Gruppe von Schaltflächen erstellen

  1. Erstellen Sie ein VSPackage, indem Sie die Visual Studio-Paket-Vorlage ausführen, und wählen Sie Menübefehl auf der Optionen für das VSPackage auswählen Seite aus. Alternativ können Sie ein vorhandenes Projekt öffnen, das eine .vsct-Datei enthält. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Wenn Sie einen Menübefehl mit der Visual Studio-Paket-Vorlage erstellen.

  2. Öffnen Sie die .vsct-Datei im Projekt.

  3. Im Abschnitt Symbols suchen Sie das Element, das GuidSymbol Gruppen und Befehle für das Projekt enthält.

    Standardmäßig wird es Guid <ProjectName> CmdSetbenannt.

  4. Fügen Sie ein IDSymbol-Element für die Gruppe und eine für jede Schaltfläche, die Sie der Gruppe hinzufügen, wie im folgenden Beispiel gezeigt.

    <GuidSymbol name="guidButtonGroupCmdSet" value="{f69209e9-975a-4543-821d-1f4a2c52d737}">
      <IDSymbol name="MyMenuGroup" value="0x1020" />
      <IDSymbol name="cmdidMyCommand" value="0x0100" />
    </GuidSymbol>
    

    Standardmäßig stellt die Vorlage Paket Gruppe mit dem Namen MyGroup und eine Schaltfläche erstellt, die den Namen, den Sie bereitgestellt haben, zusammen mit einem IDSymbol Eintrag für jedes verfügt.

  5. Im Groups-Abschnitt erstellen Sie ein neues Gruppe-Element, das gleiche guid und id wie die Attribute verfügt, die im Symbols-Abschnitt angegeben sind. Sie können eine vorhandene Gruppe verwenden, oder verwenden Sie den Eintrag, der von der Vorlage Paket zur Verfügung gestellt wird, wie im folgenden Beispiel gezeigt.

    <Group guid="guidButtonGroupCmdSet" id="MyMenuGroup" priority="0x0600">
      <Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_TOOLS"/>
    </Group>
    

    Die Standardgruppe, die im Beispiel verwendete wird im Visual Studio- Extras Menü.

So führen Sie eine Gruppe von Schaltflächen zur Wiederverwendung auffüllen

  1. Sie können einen Befehl in eine Gruppe oder ein Menü entweder durch Verwenden der Gruppe als übergeordnetes Element in der Definition eines Befehls oder ein Menü ablegen oder indem Sie den Befehl einfügen oder Menü in die Gruppe aus, indem Sie den AbschnittCommandPlacements verwenden.

    Eine Schaltfläche wird als Element innerhalb des SchaltflächeSchaltflächen-Abschnitts definiert. Definieren Sie eine Schaltfläche, die die Gruppe als übergeordnetes Element verfügt, oder verwenden Sie die Schaltfläche, die von der Vorlage Paket zur Verfügung gestellt wird, wie im folgenden Beispiel gezeigt.

    <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>
    
  2. Wenn eine Schaltfläche in mehr als einer Gruppe werden muss, erstellen Sie einen Eintrag für diesen im Abschnitt CommandPlacements . Legen Sie die guid und id-Attribute des Elements CommandPlacement die Schaltfläche entspricht, die Sie festlegen möchten, und guid fest und id des Das übergeordnete Element Zielgruppe des Elements, wie im folgenden Beispiel gezeigt festzulegen.

    <CommandPlacements>
      <CommandPlacement guid="guidButtonGroupCmdSet" id="cmdidMyCommand" priority="0x105">
        <Parent guid="guidButtonGroupCmdSet" id="MyMenuGroup" />
      </CommandPlacement>
    </CommandPlacements>
    

    Hinweis

    Der Wert des Felds Priority bestimmt die Position des Befehls Neues in der Befehlsgruppe.Die Prioritäten, die im CommandPlacement-Element festgelegt werden, überschreiben jene Datensatz in der Elementdefinition.Befehle, die Werte mit niedrigerer Priorität werden vor Befehlen angezeigt, die prioritärere Werte aufweisen.Doppelte Werte für Priorität sind zulässig, aber die relative Position von Befehlen, die denselben Prioritätswert haben, kann nicht garantiert werden, da die Reihenfolge, in der der devenv setup Befehl die endgültige Schnittstelle aus der Registrierung erstellt, möglicherweise nicht konsistent ist.

So erstellen Sie eine wiederverwendbare Gruppe von Schaltflächen auf ein Menü setzen

  • Erstellen Sie einen Eintrag im CommandPlacements-Abschnitt. Legen Sie die GUID und ID des Elements CommandPlacement mit denen der Gruppe fest, und legen Sie das übergeordnete Element GUID und ID an den Zielort des fest. Beachten Sie, dass eine Befehlsgruppe auf mehr als einem Menü aufgenommen werden kann. Das Element kann über ein Menü, das Sie erstellt haben, das durch Visual Studio (wie in ShellCmdDef.vsct oder SharedCmdDef.vsct beschrieben) angegeben ist, oder eine in einem anderen als einem VSPackage definiert ist. Die Anzahl von Ebenen Parenting ist Infinite, solange das Menü, nachdem alle Elemente an Visual Studio oder ein Kontextmenü verbunden ist, das von einem VSPackage angezeigt wird.

    Im folgenden Beispiel wird die Gruppe Projektmappen-Explorer Symbolleiste auf die Schaltfläche rechts von der anderen Schaltflächen.

    <CommandPlacements>
      <CommandPlacement guid="guidButtonGroupCmdSet" id="MyMenuGroup" 
          priority="0x605">
        <Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_TOOLS" />
      </CommandPlacement>
    </CommandPlacements>
    

Siehe auch

Aufgaben

Gewusst wie: Erstellen und behandeln Sie Befehle in VSPackages (C#)

Weitere Ressourcen

Allgemeine Aufgaben mit Befehlen, Menüs und Symbolleisten

Best Practices for Command Table Organization