Поделиться через


Элемент Menu

Определяет один пункт меню. Эти 6 типов меню: Контекст, меню MenuController, MenuControllerLatched, панель инструментов и ToolWindowToolbar.

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

Атрибуты и элементы

В следующих разделах описаны атрибуты, дочерние элементы и родительские элементы.

Атрибуты

Атрибут

Описание

guid

Обязательный. Идентификатор GUID идентификатора команды GUID/ID.

id

Обязательный. Идентификатор идентификатора команды GUID/ID.

priority

Необязательный. Числовое значение, определяющее относительную позицию меню в группе в составе меню.

ToolbarPriorityInBand

Необязательный. Числовое значение, указывающее относительное положение панели инструментов в полосе, если окно закреплено.

type

Необязательный. Нумерованное значение, определяющее тип элемента.

Если он отсутствует, по умолчанию тип меню.

Контекст

Контекстное меню, которое отображается, если пользователь щелкнул правой кнопкой мыши окно. Контекстное меню имеет следующие характеристики:

  • Поля не использует родителя и приоритета, когда меню должно отображаться как контекстное меню.

  • Может использоваться как подменю а также как контекстное меню. В этом случае, а также учитываются поля идентификатора группы и приоритета.

  • Доступны не всегда.

Контекстное меню отображается, только если выполняются следующие условия:

  • Окно, узлы он отображается.

  • Обработчик мыши в VSPackage обнаруживает щелкните правой кнопкой мыши поле, а затем вызывает метод, который обрабатывает команды.

  • Контекстное меню отображается путем вызова ShowContextMenu метод (рекомендуемый подход) или ShowContextMenu метод.

Меню

Предоставляет раскрывающееся меню. Раскрывающееся меню имеет следующие характеристики:

  • Родительский уважает в своем определении.

  • Иметь родительскую группу или CommandPlacement в группе.

  • Может быть подменю в любом другом типе меню.

  • Автоматически отображается, если его родительского меню.

  • Не требуется реализация любого кода показывается VSPackage делает ее.

MenuController

Предоставляет раскрывающееся меню разворачивающаяся кнопка, которая обычно используется в панели инструментов. Меню MenuController имеет следующие характеристики:

  • Содержаться в другом меню с помощью родительского объекта или CommandPlacement.

  • Родительский уважает в своем определении.

  • Может иметь любой тип меню, как его родительским элементом.

  • Автоматически делает доступным при его родительского меню.

  • Не требует программного поддержка делает, отображаемый в меню.

Команды из меню разворачивающаяся кнопка отображается на кнопке меню. Отображаемая команда имеет следующие характеристики:

  • Последнюю команду, которая использовалась если команда все еще отображается и включена.

  • Первая отображаемая команду.

MenuControllerLatched

Предоставляет раскрывающееся меню разворачивающаяся кнопка, для которого команду можно определить как выделение по умолчанию путем пометки команду, как заперто на задвижку.

Запертая на задвижку команду в меню команда, которая помечена как видно, как правило, отображение флажка. Команду можно пометить как заперто на задвижку, если она имеет OLECMDF_LATCHED пометить на него в реализации QueryStatus метод IOleCommandTarget интерфейс. Меню MenuControllerLatched имеет следующие характеристики:

  • Содержаться в другом меню через родительскую группу или CommandPlacement.

  • Родительский уважает в своем определении.

  • Может иметь любой тип меню, как его родительским элементом.

  • Делает доступным при его родительского меню.

  • Не требует программного поддержка делает, отображаемый в меню.

Команды из меню разворачивающаяся кнопка отображается на кнопке меню. Отображаемая команда имеет следующие характеристики:

  • Первая отображаемая команда, заперта на задвижку.

  • Первая отображаемая команду.

Панель инструментов

Предоставляет панель инструментов. Панель инструментов имеет следующие характеристики:

  • Игнорирует родительским элементом в своем определении.

  • Не может быть выполнено, подменю любой группы, даже с помощью CommandPlacement.

  • Всегда может быть отображено, щелкнув панели инструментов на Просмотреть меню.

  • Может быть представлены с помощью a VisibilityItem.

  • Не требует, чтобы код создает его. Пример о создании панель инструментов см. Пошаговое руководство. Добавление панели инструментов в IDE.

ToolWindowToolbar

Содержит панель инструментов, вложенна к определенному окну инструментов, как вложенна панель инструментов в интегрированной среде разработки.

  • Игнорирует родительским элементом в своем определении.

  • Не может быть выполнено, подменю любой группы, даже с помощью CommandPlacement.

  • Указывает, только если окно инструментов, основным приложениям панели инструментов отображаются и VSPackage явно добавить панель инструментов с окном инструментов. Обычно это выполняется, если окно инструментов создается путем получения свойства узла панели инструментов (в виде AddToolbar интерфейс) из фрейма окна инструментов, а затем вызвать IVsToolWindowToolbarHost метод.

Атрибут Condition

Необязательный. Дополнительные сведения см. в разделе Условные атрибуты XML-схемы VSCT.

Дочерние элементы

Элемент

Описание

Родительский

Необязательный. Родительский элемент пункта меню.

CommandFlag

Обязательный. Дополнительные сведения см. в разделе Элемент CommandFlag. Допустимые значения CommandFlag для меню следующим образом:

AlwaysCreate

DefaultDocked

DefaultInvisible. Этот пометить не влияет на отображение панелей инструментов.

DontCache

DynamicVisibility. Этот пометить не влияет на отображение панелей инструментов.

IconAndText

NoCustomize

NotInTBList

NoToolbarClose

TextChanges

TextIsAnchorCommand

Строки

Обязательный. Дополнительные сведения см. в разделе Элемент Strings. Дочерний элемент ButtonText элемент должен быть указан.

Заметка

Дополнительный комментарий.

Родительские элементы

Элемент

Описание

Элемент Menus

Указывает все меню, VSPackage реализует.

Пример

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

См. также

Другие ресурсы

Файлы таблицы команд Visual Studio (.Vsct)