Udostępnij za pośrednictwem


Menu, element

Definiuje jeden element menu. Są to sześć rodzajów menu: Kontekst, Menu, MenuController, MenuControllerLatched, Pasek narzędzi i ToolWindowToolbar.

Składnia

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

Atrybuty i elementy

W poniższych sekcjach opisano atrybuty, elementy podrzędne i elementy nadrzędne.

Atrybuty

Atrybut opis
Identyfikator GUID Wymagany. Identyfikator GUID/identyfikator polecenia.
identyfikator Wymagany. Identyfikator identyfikatora polecenia identyfikatora GUID/identyfikatora.
priority Opcjonalny. Wartość liczbowa określająca względną pozycję menu w grupie menu.
toolbarPriorityInBand Opcjonalny. Wartość liczbowa określająca względną pozycję paska narzędzi w pasmie po zadokowaniu okna.
type Opcjonalny. Wyliczona wartość określająca rodzaj elementu.

Jeśli nie istnieje, domyślnym typem jest Menu.

Kontekst
Menu skrótów wyświetlane po kliknięciu okna prawym przyciskiem myszy przez użytkownika. Menu skrótów ma następujące cechy:

— Nie używa pól Nadrzędny i Priorytet , gdy menu ma być wyświetlane jako menu skrótów.
- Może służyć jako podmenu, a także jako menu skrótów. W takim przypadku pola Identyfikator grupy i Priorytet są przestrzegane.
- Nie zawsze jest dostępny.

Menu skrótów jest wyświetlane tylko wtedy, gdy spełnione są następujące warunki:

- Wyświetlane jest okno, które go hostuje.
— Program obsługi myszy w programie VSPackage wykrywa kliknięcie prawym przyciskiem myszy w oknie, a następnie wywołuje metodę, która obsługuje polecenie.
— Menu skrótów jest wyświetlane przez wywołanie ShowContextMenu metody (zalecane podejście) lub ShowContextMenu metody.

Menu
Udostępnia menu rozwijane. Menu rozwijane ma następujące cechy:

- Szanuje element nadrzędny w swojej definicji.
— Musi mieć grupę nadrzędną lub poleceniePlacement do grupy.
- Może być podmenu w dowolnym innym rodzaju menu.
— jest automatycznie wyświetlany za każdym razem, gdy zostanie wyświetlone menu nadrzędne.
- Nie wymaga implementacji żadnego kodu VSPackage, aby go wyświetlić.

MenuKontroler
Udostępnia menu rozwijane z podzielonym przyciskiem, które jest zwykle używane na paskach narzędzi. Menu MenuKontroler ma następujące cechy:

- Musi być zawarty w innym menu za pośrednictwem elementu Nadrzędnego lub CommandPlacement.
- Szanuje element nadrzędny w swojej definicji.
- Może mieć dowolne menu jako element nadrzędny.
— jest automatycznie udostępniane za każdym razem, gdy zostanie wyświetlone menu nadrzędne.
— Nie wymaga obsługi programowej, aby wyświetlić menu.

Polecenie z menu split-button jest wyświetlane na przycisku menu. Wyświetlone polecenie ma jedną z następujących cech:

- Jest to ostatnie polecenie, które zostało użyte, jeśli polecenie jest nadal wyświetlane i włączone.
- Jest to pierwsze wyświetlane polecenie.

MenuControllerLatched
Udostępnia menu rozwijane z podziałem przycisku, dla którego można określić polecenie jako domyślne zaznaczenie, oznaczając polecenie jako zatrzaśnięty.

Zatrzaśniętym poleceniem jest polecenie oznaczone w menu jako wybrane, zazwyczaj przez wyświetlenie znacznika wyboru. Polecenie można oznaczyć jako zatrzaśnięty, jeśli ma na nim flagę OLECMDF_LATCHED ustawioną w implementacji QueryStatus metody interfejsu IOleCommandTarget . Menu MenuControllerLatched ma następujące cechy:

- Musi być zawarty w innym menu za pośrednictwem grupy nadrzędnej lub CommandPlacement.
- Szanuje element nadrzędny w swojej definicji.
- Może mieć dowolne menu jako element nadrzędny.
- Jest udostępniany za każdym razem, gdy zostanie wyświetlone menu nadrzędne.
— Nie wymaga obsługi programowej, aby wyświetlić menu.

Polecenie z menu split-button jest wyświetlane na przycisku menu. Wyświetlone polecenie ma jedną z następujących cech:

- Jest to pierwsze wyświetlane polecenie, które jest zatrzasane.
- Jest to pierwsze wyświetlane polecenie.

Pasek narzędzi
Udostępnia pasek narzędzi. Pasek narzędzi ma następujące cechy:

— Ignoruje element nadrzędny w swojej definicji.
— Nie można utworzyć podmenu żadnej grupy, nawet przy użyciu polecenia CommandPlacement.
— Zawsze można wyświetlić, klikając pozycję Paski narzędzi w menu Widok .
— Może być wyświetlany przy użyciu elementu VisibilityItem.
- Nie wymaga żadnego kodu, aby go utworzyć. Aby zapoznać się z przykładem tworzenia paska narzędzi, zobacz Dodawanie paska narzędzi.

ToolWindowToolbar
Udostępnia pasek narzędzi dołączony do określonego okna narzędzi, podobnie jak pasek narzędzi jest dołączony do środowiska deweloperskiego.

— Ignoruje element nadrzędny w swojej definicji.
— Nie można utworzyć podmenu żadnej grupy, nawet przy użyciu polecenia CommandPlacement.
— jest wyświetlany tylko wtedy, gdy zostanie wyświetlone okno narzędzia hostujące pasek narzędzi, a pakiet VSPackage jawnie doda pasek narzędzi do okna narzędzia. Zazwyczaj odbywa się to po utworzeniu okna narzędzi przez uzyskanie właściwości hosta paska narzędzi (reprezentowanej przez IVsToolWindowToolbarHost interfejs) z ramki okna narzędzi, a następnie wywołanie AddToolbar metody.
Stan Opcjonalny. Zobacz Atrybuty warunkowe.

Elementy podrzędne

Element opis
Parent Opcjonalny. Element nadrzędny elementu menu.
CommandFlag Wymagany. Zobacz Element flagi polecenia. Prawidłowe wartości CommandFlag dla menu są następujące:

- Zawszeutwórz
- DefaultDocked
- DefaultInvisible — ta flaga nie ma wpływu na wyświetlanie pasków narzędzi.
- DontCache
- DynamicVisibility — ta flaga nie wpływa na wyświetlanie pasków narzędzi.
- IconAndText
- NoCustomize
- NotInTBList
- NoToolbarClose
- Zamiany tekstu
- TextIsAnchorCommand
Ciągi Wymagany. Zobacz Element Ciągi. Element podrzędny ButtonText musi być zdefiniowany.
Annotation Opcjonalny komentarz.

Elementy nadrzędne

Element opis
Menu, element Definiuje wszystkie menu implementowane przez pakiet VSPackage.

Przykład

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

Zobacz też