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>