Sdílet prostřednictvím


Prvek nabídky

Definuje jednu položku nabídky. Toto jsou šest druhů nabídek: Kontext, Menu, MenuController, MenuControllerLatched, Toolbar a ToolWindowToolbar.

Syntaxe

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

Atributy a prvky

Následující části popisují atributy, podřízené prvky a nadřazené prvky.

Atributy

Atribut Popis
guid Povinný: GUID identifikátoru příkazu GUID/ID.
ID Povinný: ID identifikátoru příkazu GUID/ID.
Prioritou Nepovinné. Číselná hodnota, která určuje relativní pozici nabídky ve skupině nabídek.
toolbarPriorityInBand Nepovinné. Číselná hodnota, která určuje relativní pozici panelu nástrojů v pásu nástrojů při ukotvení okna.
type Nepovinné. Výčtová hodnota, která určuje typ prvku.

Pokud není k dispozici, výchozí typ je Nabídka.

Kontext
Místní nabídka, která se zobrazí, když uživatel klikne pravým tlačítkem myši na okno. Místní nabídka má následující charakteristiky:

- Nepoužívá pole Nadřazený a Prioritní , pokud je nabídka zobrazena jako místní nabídka.
- Lze použít jako podnabídku a také jako místní nabídku. V tomto případě se respektují pole ID skupiny i priority .
- Není vždy k dispozici.

Místní nabídka se zobrazí pouze v případech, kdy jsou splněny následující podmínky:

- Zobrazí se okno, které je hostitelem.
- Obslužná rutina myši v balíčku VSPackage detekuje kliknutí pravým tlačítkem myši na okno a potom volá metodu, která zpracovává příkaz.
- Místní nabídka se zobrazí voláním ShowContextMenu metody (doporučený přístup) nebo ShowContextMenu metody.

Nabídka
Poskytuje rozevírací nabídku. Rozevírací nabídka má následující charakteristiky:

- Respektuje nadřazený prvek v jeho definici.
– Musí mít nadřazenou skupinu nebo CommandPlacement pro skupinu.
- Může to být podnabídka v jakémkoli jiném druhu menu.
- Automaticky se zobrazí při zobrazení nadřazené nabídky.
- Nevyžaduje implementaci žádného kódu VSPackage, aby se zobrazil.

MenuController
Poskytuje rozevírací nabídku rozděleného tlačítka, která se obvykle používá na panelech nástrojů. Nabídka MenuController má následující vlastnosti:

- Musí být obsažena v jiné nabídce prostřednictvím Nadřazené nebo CommandPlacement.
- Respektuje nadřazený prvek v jeho definici.
- Může mít libovolný druh nabídky jako nadřazený objekt.
- Automaticky se zpřístupní při zobrazení nadřazené nabídky.
- Nevyžaduje programovou podporu, aby se nabídka zobrazila.

Příkaz z nabídky s rozděleným tlačítkem se zobrazí na tlačítku nabídky. Zobrazený příkaz má jednu z následujících charakteristik:

– Jedná se o poslední příkaz, který byl použit, pokud je příkaz stále zobrazen a povolen.
- Jedná se o první zobrazený příkaz.

NabídkaControllerLatched
Poskytuje rozevírací nabídku rozděleného tlačítka, pro kterou lze příkaz zadat jako výchozí výběr tak, že příkaz označíte jako západku.

Zamknutá příkaz je příkaz, který je v nabídce označený jako vybraný, obvykle zobrazením značky zaškrtnutí. Příkaz může být označen jako západka, pokud má OLECMDF_LATCHED příznak nastavený v implementaci QueryStatus metody IOleCommandTarget rozhraní. Nabídka MenuControllerLatched má následující vlastnosti:

– Musí být obsažena v jiné nabídce prostřednictvím nadřazené skupiny nebo CommandPlacement.
- Respektuje nadřazený prvek v jeho definici.
- Může mít libovolný druh nabídky jako nadřazený objekt.
- Je k dispozici při zobrazení nadřazené nabídky.
- Nevyžaduje programovou podporu, aby se nabídka zobrazila.

Příkaz z nabídky s rozděleným tlačítkem se zobrazí na tlačítku nabídky. Zobrazený příkaz má jednu z následujících charakteristik:

- Jedná se o první zobrazený příkaz, který je západka.
- Jedná se o první zobrazený příkaz.

Panel nástrojů
Poskytuje panel nástrojů. Panel nástrojů má následující vlastnosti:

- Ignoruje nadřazený objekt v jeho definici.
– Nelze vytvořit podnabídku žádné skupiny, a to ani pomocí CommandPlacement.
- Lze vždy zobrazit kliknutím na panely nástrojů v nabídce Zobrazit .
– Lze zobrazit pomocí funkce VisibilityItem.
- Nevyžaduje k jeho vytvoření žádný kód. Příklad vytvoření panelu nástrojů najdete v tématu Přidání panelu nástrojů.

ToolWindowToolbar
Poskytuje panel nástrojů, který je připojený k určitému okně nástroje, stejně jako je panel nástrojů připojený k vývojovému prostředí.

- Ignoruje nadřazený objekt v jeho definici.
– Nelze vytvořit podnabídku žádné skupiny, a to ani pomocí CommandPlacement.
- Zobrazí se pouze tehdy, když se zobrazí okno nástroje, které je hostitelem panelu nástrojů, a balíček VSPackage explicitně přidá panel nástrojů do okna nástroje. To se obvykle provádí, když se okno nástroje vytvoří získáním vlastnosti hostitele panelu nástrojů (jak je reprezentováno IVsToolWindowToolbarHost rozhraním) z rámečku okna nástroje a volání AddToolbar metody.
Podmínka Nepovinné. Viz Podmíněné atributy.

Podřízené prvky

Element (Prvek) Popis
Parent Nepovinné. Nadřazený prvek položky nabídky.
CommandFlag Povinný: Viz Element příznaku příkazu. Platné hodnoty CommandFlag pro nabídku jsou následující:

- Alwayscreate
- DefaultDocked
- DefaultInvisible – Tento příznak nemá vliv na zobrazení panelů nástrojů.
- DontCache
- Dynamickávisibility – tento příznak nemá vliv na zobrazení panelů nástrojů.
- IconAndText
- NoCustomize
- NotInTBList
- NoToolbarClose
- TextChanges
- TextIsAnchorCommand
Řetězce Povinný: Viz Element Strings. Podřízený ButtonText prvek musí být definován.
Poznámka Volitelný komentář.

Nadřazené prvky

Element (Prvek) Popis
Menus – element Definuje všechny nabídky, které balíček VSPackage implementuje.

Příklad

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

Viz také