Freigeben über


Befehle, Menüs und Symbolleisten

Menüs und Symbolleisten sind die Art und Weise, wie Benutzer auf Befehle in Ihrem VSPackage zugreifen. Befehle sind Funktionen, die Aufgaben ausführen, z. B. das Drucken eines Dokuments, das Aktualisieren einer Ansicht oder das Erstellen einer neuen Datei. Menüs und Symbolleisten sind praktische grafische Methoden zum Präsentieren Ihrer Befehle für Benutzer. In der Regel werden verwandte Befehle im selben Menü oder in derselben Symbolleiste gruppiert.

  • Menüs werden in der Regel als einwortige Zeichenfolgen gruppiert in einer Zeile oben in der integrierten Entwicklungsumgebung (IDE) oder einem Toolfenster angezeigt. Menüs können auch als Ergebnis eines Rechtsklickereignisses angezeigt werden und werden in diesem Kontext als Kontextmenüs bezeichnet. Wenn Sie darauf klicken, werden Menüs erweitert, um einen oder mehrere Befehle anzuzeigen. Befehle können beim Klicken Aufgaben ausführen oder Untermenüs starten, die zusätzliche Befehle enthalten. Einige bekannte Menünamen sind "Datei", "Bearbeiten", "Ansicht" und "Fenster". Weitere Informationen finden Sie unter Erweitern von Menüs und Befehlen.

  • Symbolleisten sind in der Regel Zeilen mit Schaltflächen und anderen Steuerelementen, z. B. Kombinationsfelder, Listenfelder, Textfelder und Menücontroller. Alle Symbolleistensteuerelemente sind Befehlen zugeordnet. Wenn Sie auf eine Symbolleistenschaltfläche klicken, wird der zugehörige Befehl aktiviert. Symbolleistenschaltflächen enthalten in der Regel Symbole, die die zugrunde liegenden Befehle vorschlagen, z. B. einen Drucker für einen Druckbefehl. In einem Dropdownlistensteuerelement wird jedes Element in der Liste einem anderen Befehl zugeordnet. Ein Menücontroller ist eine Hybridlösung, bei der eine Seite des Steuerelements eine Symbolleistenschaltfläche ist und die andere Seite ein Abwärtspfeil ist, der zusätzliche Befehle anzeigt, wenn darauf geklickt wird. Weitere Informationen finden Sie unter Hinzufügen eines Menücontrollers zu einer Symbolleiste.

  • Wenn Sie einen Befehl erstellen, müssen Sie auch einen Ereignishandler dafür erstellen. Der Ereignishandler bestimmt, wann der Befehl sichtbar oder aktiviert ist, ermöglicht es Ihnen, den Text zu ändern, und stellt sicher, dass der Befehl beim Aktivieren entsprechend reagiert ("Routen"). In den meisten Fällen behandelt die IDE Befehle mithilfe der IOleCommandTarget Schnittstelle. Befehle in Visual Studio werden hierarchisch weitergeleitet, beginnend mit dem innersten Befehlskontext, basierend auf der lokalen Auswahl und dem äußersten Kontext, basierend auf der globalen Auswahl. Befehle, die dem Hauptmenü hinzugefügt werden, stehen sofort für skripting zur Verfügung. Weitere Informationen finden Sie unter MenuCommands vs. OleMenuCommands und Selection context objects.

    Um neue Menüs und Symbolleisten zu definieren, müssen Sie sie in einer Visual Studio-Befehlstabellendatei (VSCT) beschreiben. Die Visual Studio-Paketvorlage erstellt diese Datei zusammen mit den erforderlichen Elementen, um alle Befehle, Symbolleisten und Editoren zu unterstützen, die Sie in der Vorlage ausgewählt haben. Alternativ können Sie ihre eigene VSCT-Datei mit dem hier beschriebenen XML-Schema schreiben: VSCT XML-Schemareferenz.

    Weitere Informationen zum Arbeiten mit VSCT-Dateien finden Sie in Visual Studio-Befehlstabellendateien (VSCT).

    In den Themen in diesem Abschnitt wird erläutert, wie Befehle, Menüs und Symbolleisten in VSPackages funktionieren.

In diesem Abschnitt

Eine ausführliche Beschreibung der Spezifikation des Befehlstabellenformats.

Beschreibt eine XML-basierte Syntax und einen Compiler für Befehlstabellen.

Beschreibt vordefinierte Befehle, Gruppen, Menüs und Symbolleisten.

Gibt die vordefinierten Menüs, Befehle und Befehlsgruppen an, die von der Visual Studio-IDE verwendet werden können.

Erläutert, wie man Befehle entwirft.

Enthält Richtlinien für Befehle.

Erläutert, wie Befehle für Visual Studio zur Verfügung gestellt werden.

Erläutert, wie Befehle implementiert werden, die Interop-Assemblies verwenden.

Erläutert das Befehlsrouting in VSPackages.