Freigeben über


Exemplarische Vorgehensweise: Eine Symbolleiste auf ein Toolfenster hinzu

In dieser exemplarischen Vorgehensweise wird erläutert, wie eine Symbolleiste hinzugefügt wird. ein Toolfenster Symbolleisten stellen Schnellzugriff an Befehle im Toolfenster.

Eine Symbolleiste ist ein horizontaler oder vertikaler Streifen, der die Schaltflächen enthält, die an Befehle gebunden sind. Die Länge einer Symbolleiste in einem Toolfenster ist immer identisch mit der Breite oder der Höhe des Toolfensters, abhängig von dem die Symbolleiste angedockt wird.

Symbolleisten in Toolfenstern werden nicht automatisch von der integrierten Entwicklungsumgebung (IDE) erstellt. Es müssen durch ein VSPackage programmgesteuert hinzugefügt werden, das das Toolfenster erstellt wird.

Im Gegensatz zu Symbolleisten in der IDE, muss eine Symbolleiste in einem Toolfenster angedockt werden und kann nicht verschoben oder angepasst werden. Wenn das Tool Fenster VSPackage in verwaltetem Code geschrieben wird, wird die Symbolleiste immer über die Fensterrands angedockt. Wenn jedoch VSPackages in umanaged Code geschrieben wird, kann die Symbolleiste für jeden Rand angeordnet werden.

Weitere Informationen dazu, wie eine Symbolleiste der IDE finden Sie unter Exemplarische Vorgehensweise: Eine Symbolleiste hinzufügen in der IDEhinzugefügt wird.

Vorbereitungsmaßnahmen

Zum Abschließen dieser exemplarischen Vorgehensweise müssen Sie Visual Studio 2010 SDKinstallieren.

Hinweis

Weitere Informationen über das Visual Studio-SDK finden Sie unter Erweitern von Visual Studio Overview.Um herauszufinden finden Sie unter wie das Visual Studio-SDK, auf Visual Studio Extensibility Developer Center der MSDN-Website herunterlädt.

Speicherorte für die Visual Studio-Paket-Projektvorlage

Die Visual Studio-Paket Projektvorlage ist in drei Positionen im Dialogfeld Neues Projekt verfügbar:

  • Die Visual Basic-Erweiterbarkeit. Die Standardsprache des Projekts ist Visual Basic.

  • Die C#-Erweiterbarkeit. Die Standardsprache ist C# des Projekts.

  • Die Andere Projekttypen/Erweiterungen. Die Standardsprache des Projekts ist C++.

Toolfenster für ein VSPackage erstellen

In diesem Abschnitt wird die Verwendung der Visual Studio Paket importieren verwendet, um ein Tool Fenster VSPackage erstellen, das nur einen Menübefehl unterstützt.

So erstellen TWToolbar VSPackage

  1. Erstellen Sie ein VSPackage, das TWSymbolleistebenannt ist. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Wenn Sie einen Menübefehl mit der Visual Studio-Paket-Vorlage erstellen.

  2. Legen Sie die Programmiersprache Visual Basic oder **Visual C#**fest, und wählen Sie die Menübefehl und Toolfenster Optionen aus.

  3. Die Befehlsoptionenlegen Sie den Befehlsnamen zu TWTest-Befehlund Befehls-ID an cmdidTWTestCmdfest.

  4. Die Optionen des Toolfensterslegen Sie den Fensternamen zu Test-Tool-Fensterund Befehls-ID an cmdidTestToolfest.

Eine Symbolleiste für ein Toolfenster erstellen

So erstellen Sie eine Symbolleiste für das Toolfenster erstellen

  1. Öffnen Sie TWToolbar.vsct im Text-Editor.

  2. Im SymbolsGuidSymbol Knoten im Abschnitt „guidTWToolbarCmdSet“ deklarieren Sie eine Symbolleiste und eine Gruppe von Symbolleisten wie folgt.

    <IDSymbol name="TWToolbar" value="0x1000" />
    <IDSymbol name="TWToolbarGroup" value="0x1050" />
    
  3. Klicken Sie am oberen Rand des Commands-Abschnitt erstellen Sie einen Menus-Abschnitt.

    <Menus></Menus>
    

    Die Definition der Symbolleiste wird hier nicht lokalisiert, da der VSCT-Parser zwischen Menüs und Symbolleisten auf dieser Ebene unterschieden wird.

  4. Fügen Sie ein Menu-Element dem Menus-Abschnitt hinzu, um die Symbolleiste zu definieren.

    <Menu guid="guidTWToolbarCmdSet" id="TWToolbar" type="ToolWindowToolbar">
      <CommandFlag>DefaultDocked</CommandFlag>
      <Strings>
        <ButtonText>Test Toolbar</ButtonText>
        <CommandName>Test Toolbar</CommandName>
      </Strings>
    </Menu>
    

    Symbolleisten können nicht wie Untermenüs geschachtelt werden. Daher müssen Sie ein übergeordnetes Element nicht zuweisen. Sie müssen außerdem eine Priorität nicht festlegen, da der Benutzer Symbolleisten verschieben kann. In der Regel wird das ursprüngliche Position einer Symbolleiste programmgesteuert definiert, aber nachfolgende Änderungen durch den Benutzer werden beibehalten.

  5. Im Abschnitt Groups nach dem Eintrag in einer vorhandenen Gruppe, definieren Sie eine Gruppe, um die Befehle für die Symbolleiste integriert werden.

    <Group guid="guidTWToolbarCmdSet" id="TWToolbarGroup" priority="0x0000">
      <Parent guid="guidTWToolbarCmdSet" id="TWToolbar" />
    </Group>
    
  6. Im Buttons-Abschnitt ändern Sie das übergeordnete Element des vorhandenen Elements Button Gruppe Symbolleisten, damit die Symbolleiste angezeigt wird.

    <Button guid="guidTWToolbarCmdSet" id="cmdidTWTestCommand" priority="0x0100" type="Button">
      <Parent guid="guidTWToolbarCmdSet" id="TWToolbarGroup" />
      <Icon guid="guidImages" id="bmpPic1" />
      <Strings>
        <CommandName>cmdidTWTestCmd</CommandName>
        <ButtonText>TWTest Command</ButtonText>
      </Strings>
    </Button>
    

    Wenn eine Symbolleiste keine Befehle aufweist, wird er nicht.

    Da die neue Symbolleiste auf das Toolfenster nicht automatisch vom Visual Studio IDE hinzugefügt wird, muss die Symbolleiste von VSPackages auch programmgesteuert hinzugefügt werden. Dies wird im nächsten Abschnitt erläutert, „eine Symbolleiste auf das Toolfenster.“

Die Symbolleiste auf das Toolfenster hinzu

Um die Symbolleiste dem Toolfenster hinzu

  1. Öffnen Sie im TWToolbar-Projekt PkgCmdID.vb oder PkgCmdID.cs im Text-Editor.

  2. Nach der vorhandenen Befehls-IDs in der PkgCmdID-Datei, fügen Sie den folgenden Befehl hinzu.

    public const int TWToolbar = 0x1000;
    
  3. Öffnen Sie MyToolWindow.vb oder MyToolWindow.cs im Text-Editor.

  4. Fügen Sie am Anfang der Datei nach anderen Imports oder den using-Anweisungen die folgende Zeile hinzu.

    using System.ComponentModel.Design; // for CommandID
    
  5. Im MyToolWindow-Klassenkonstruktor zu Beginn des Konstruktors, fügen Sie die folgende Zeile hinzu.

    this.ToolBar = new CommandID(
        GuidList.guidTWToolbarCmdSet,
        PkgCmdIDList.TWToolbar);
    

    Dieser Code fordert das verwaltete Paketframework (MPF) die Symbolleiste, um zu erstellen, wenn das Toolfenster erstellt wird.

    Hinweis

    In verwaltetem Code kann nur eine Symbolleiste auf ein Toolfenster hinzugefügt werden.

  6. Zum Erstellen der Projektmappe klicken Sie im Menü Erstellen auf Projektmappe erstellen.

Die Symbolleiste im Toolfenster testen

So testen Sie die Symbolleiste im Toolfenster

  1. Drücken Sie F5, um eine Instanz experimentellen Visual Studio im Debugmodus zu öffnen.

  2. Zeigen Sie im Menü Ansicht klicken Sie auf Weitere Fenster , und klicken Sie dann auf Toolfenster testen , um das Toolfenster anzuzeigen.

    Beachten Sie, dass eine Symbolleiste direkt unter dem Titel des Toolfensters angezeigt wird.

  3. Klicken Sie auf der Symbolleiste des Toolfensters klicken Sie auf das Symbol, um die Meldung „Inneres Company.TWToolbar.TW ToolbarPackage.MenuItemCallback()“ anzuzeigen.

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Eine Symbolleiste hinzufügen in der IDE

Weitere Ressourcen

Exemplarische Vorgehensweisen für Befehle, Menüs und Symbolleisten

Befehle, Menüs und Symbolleisten