Freigeben über


Menu-Element

Definiert ein Menüelement. Dies sind die sechs Arten von Menüs: MenuController Menü Kontext, MenuControllerLatched Symbolleiste, und ToolWindowToolbar.

<Menu guid=”guidMyCommandSet” id=”MyCommand” priority=”0x100” type=”button”>
  <Parent>... </Parent>
  <CommandFlag>... </CommandFlag>
  <Strings>... </Strings>
</Menu>

Attribute und Elemente

In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.

Attribute

Attribut

Beschreibung

guid

Erforderlich. Die GUID des GUID-/ID Befehlskennzeichens.

id

Erforderlich. ID des GUID-/IDBefehlskennzeichens.

priority

Optional. Ein numerischer Wert, der die relative Position eines Menüs in einer Gruppe von Menüs angibt.

ToolbarPriorityInBand

Optional. Ein numerischer Wert, der die relative Position einer Symbolleiste in einem Band angibt, ob das Fenster angedockt wird.

type

Optional. Ein Enumerationswert, der die Art des Elements angibt.

Wenn nicht vorhanden, der Standardtyp Menü ist.

Kontext

Ein Kontextmenü, das angezeigt wird, wenn ein Benutzer auf ein Fenster mit der rechten Maustaste klickt. Ein Kontextmenü verfügt über die folgenden Eigenschaften:

  • Wird nicht die Felder des übergeordneten Elements und der Priorität, wenn das Menü als Kontextmenü angezeigt werden soll.

  • Kann auch Untermenüs als auch als Kontextmenüs verwendet werden. In diesem Fall s-bit für die Gruppe und Priorität werden Felder berücksichtigt.

  • Ist nicht immer verfügbar.

Ein Kontextmenü wird nur angezeigt, wenn die folgenden Bedingungen erfüllt sind:

  • Das Fenster, das sie angezeigt wird.

  • Ein Maushandler in einem VSPackage Sie mit der rechten Maustaste im Fenster wird, und ruft anschließend eine Methode, die den Befehl behandelt.

  • Das Kontextmenü wird angezeigt, indem die ShowContextMenu-Methode (empfohlen) oder die ShowContextMenu-Methode aufgerufen wird.

Menü

Stellt ein Dropdownmenü bereit. Ein Dropdownmenü verfügt über die folgenden Eigenschaften:

  • Respektiert das übergeordnete Element in ihrer Definition.

  • Muss eine übergeordnete Gruppe oder ein CommandPlacement auf eine Gruppe enthalten.

  • Kann ein Untermenü auf eine andere Weise Menü.

  • Wird automatisch angezeigt, wenn sein übergeordnetes Menü angezeigt wird.

  • Erfordert die Implementierung eines VSPackage-Codes nicht, diese ausführen angezeigt.

MenuController

Stellt ein Dropdownmenü der unterteilten Schaltfläche bereit, das i. d. R. in Symbolleisten verwendet wird. Ein MenuController-Menü verfügt über die folgenden Eigenschaften:

  • Muss in ein anderes Menü als übergeordnetes Element oder CommandPlacement enthalten sind.

  • Respektiert das übergeordnete Element in ihrer Definition.

  • Kann jede Art von Menüs als übergeordnetes Element haben.

  • Wird automatisch bereitgestellt, wenn sein übergeordnetes Menü angezeigt wird.

  • Erfordert keine programmgesteuerte Unterstützung für das angezeigte Menü zu machen.

Ein Befehl aus dem Menü der unterteilten Schaltfläche wird in der Menüschaltfläche angezeigt. Der angezeigte Befehl verfügt über eine der folgenden Eigenschaften:

  • Dies ist der letzte Befehl, der verwendet wird, wenn der Befehl weiterhin angezeigt und aktiviert ist.

  • Dies ist der erste angezeigte Befehl.

MenuControllerLatched

Stellt ein Dropdownmenü der unterteilten Schaltfläche, für das ein Befehl als die Standardauswahl angegeben werden kann, indem Sie den Befehl als verriegelt.

Ein Befehl ist ein Befehl verriegelter im Menü ausgewählt wird, z. B. markiert, in der Regel durch ein Häkchen angezeigt wird. Ein Befehl kann als verriegelt, wenn er das OLECMDF_LATCHED-Flag verfügt, auf in einer Implementierung der QueryStatus-Methode der IOleCommandTarget-Schnittstelle festgelegt ist. Ein MenuControllerLatched-Menü verfügt über die folgenden Eigenschaften:

  • Muss in ein anderes Menü von einer übergeordneten Gruppe oder ein CommandPlacement enthalten sind.

  • Respektiert das übergeordnete Element in ihrer Definition.

  • Kann jede Art von Menüs als übergeordnetes Element haben.

  • Wird zur Verfügung gestellt, wenn sein übergeordnetes Menü angezeigt wird.

  • Erfordert keine programmgesteuerte Unterstützung für das angezeigte Menü zu machen.

Ein Befehl aus dem Menü der unterteilten Schaltfläche wird in der Menüschaltfläche angezeigt. Der angezeigte Befehl verfügt über eine der folgenden Eigenschaften:

  • Dies ist der erste angezeigte Befehl, der verriegelt wird.

  • Dies ist der erste angezeigte Befehl.

Symbolleiste

Stellt eine Symbolleiste bereit. Eine Symbolleiste verfügt über die folgenden Eigenschaften:

  • Ignoriert das übergeordnete Element in ihrer Definition.

  • Nicht festgelegt werden kann ein Untermenü einer Gruppe, nicht einmal indem CommandPlacement verwendet.

  • Dies kann durch Klicken auf Symbolleisten auf dem Ansicht Menü immer angezeigt werden.

  • Kann mit VisibilityItemangezeigt werden.

  • Erfordert keinen Code, ihn zu erstellen. Ein Beispiel zum Erstellen einer Symbolleiste finden Sie unter Exemplarische Vorgehensweise: Eine Symbolleiste hinzufügen in der IDEerstellt wird.

ToolWindowToolbar

Stellt eine Symbolleiste bereit, die auf einen bestimmten Toolfenster angefügt wird, wie eine Symbolleiste zur Entwicklungsumgebung angefügt wird.

  • Ignoriert das übergeordnete Element in ihrer Definition.

  • Nicht festgelegt werden kann ein Untermenü einer Gruppe, nicht einmal indem CommandPlacement verwendet.

  • Wird nur angezeigt, wenn das Toolfenster gehostet, das die Symbolleiste angezeigt wird und VSPackages explizit die Symbolleiste dem Toolfenster hinzugefügt wird. Dies ist in der Regel verwendet, wenn das Toolfenster erstellt wird, indem die Symbolleisten Eigenschaft hostet (wie durch die IVsToolWindowToolbarHost-Schnittstelle dargestellt) vom Tool fensterrahmen abruft und dann die AddToolbar-Methode aufgerufen wird.

Bedingung

Optional. Weitere Informationen finden Sie unter Bedingte Attribute für das VSCT-XML-Schema.

Untergeordnete Elemente

Element

Beschreibung

Parent (Übergeordnet)

Optional. Das übergeordnete Element des Menüelements.

CommandFlag

Erforderlich. Weitere Informationen finden Sie unter Command Flag-Element. Die gültigen CommandFlag-Werte für ein Menü lauten wie folgt:

AlwaysCreate

DefaultDocked

DefaultInvisible. Dieses Flag hat keine Auswirkungen auf die Anzeige von Symbolleisten.

DontCache

DynamicVisibility. Dieses Flag hat keine Auswirkungen auf die Anzeige von Symbolleisten.

IconAndText

NoCustomize

NotInTBList

NoToolbarClose

TextChanges

TextIsAnchorCommand

Zeichenfolgen

Erforderlich. Weitere Informationen finden Sie unter Strings-Element. Das untergeordnete Element muss ButtonText definiert sind.

Anmerkung

Optionaler Kommentar.

Übergeordnete Elemente

Element

Beschreibung

Menus-Element

Definiert alle Menüs, die ein VSPackage implementieren.

Beispiel

<Menu guid="cmdGuidWidgetCommands" id="menuIDEditWidget"
  priority="0x0002" type="Menu">
  <Parent guid="cmdSetGuidWidgetCommands" id="groupIDFileEdit">
  <CommandFlag>AlwaysCreate</CommandFlag>
  <Strings>
    <ButtonText>Edit Widget</ButtonText>
  </Strings>
</Menu>

Siehe auch

Weitere Ressourcen

(Visual Studio-Befehls-Tabelle. Dateien Vsct)