Definiert ein Menüelement. Dies sind die sechs Arten von Menüs: MenuController Menü Kontext, MenuControllerLatched Symbolleiste, und ToolWindowToolbar.
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.
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.