Partilhar via


Elemento menu

Define um item de menu. Esses são os seis tipos de menus: contexto, Menu, MenuController, MenuControllerLatched, barra de ferramentas e ToolWindowToolbar.

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

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho, e elementos pai.

Atributos

Atributo

Descrição

GUID

Obrigatório. GUID do identificador de comando do GUID/ID.

id

Obrigatório. ID do identificador de comando do GUID/ID.

priority

Opcional. Um valor numérico que especifica a posição relativa de um menu em um grupo de menus.

ToolbarPriorityInBand

Opcional. Um valor numérico que especifica a posição relativa de uma barra de ferramentas em uma faixa quando a janela está ancorada.

tipo

Opcional. Um valor enumerado que especifica o tipo de elemento.

Se não estiver presente, o tipo padrão é o Menu.

Contexto

Um menu de atalho é exibido quando um usuário clica uma janela. Um menu de atalho tem as seguintes características:

  • Não usa os campos de pai e prioridade quando o menu é exibido como um menu de atalho.

  • Pode ser usado como um submenu e como um menu de atalho. Nesse caso, os campos de identificação do grupo e a prioridade são respeitados.

  • Não está sempre disponível.

Um menu de atalho é exibido somente quando as seguintes condições forem verdadeiras:

  • É exibida a janela que hospeda-lo.

  • Um manipulador de mouse no VSPackage detecta um botão direito do mouse na janela e em seguida, chama um método que manipula o comando.

  • O menu de atalho é exibido, chamando o ShowContextMenu método (a abordagem recomendada) ou o ShowContextMenu método.

Menu

Fornece um menu drop-down. Um menu drop-down tem as seguintes características:

  • Respeita o pai na sua definição.

  • Deve ter um grupo pai, ou um CommandPlacement a um grupo.

  • Pode ser um submenu em qualquer outro tipo de menu.

  • É exibida automaticamente sempre que for exibido o menu de seu pai.

  • Não requer a implementação de qualquer código VSPackage para que seja exibido.

MenuController

Fornece um menu drop-down de botão de divisão, que é geralmente usado nas barras de ferramentas. Um menu de MenuController tem as seguintes características:

  • Deve estar contido em outro menu por meio do pai ou CommandPlacement.

  • Respeita o pai na sua definição.

  • Pode ter qualquer tipo de menu pai.

  • Será feita automaticamente disponível sempre que o seu menu pai é exibido.

  • Não requer suporte através de programação para tornar o menu exibido.

Um comando de menu do botão de divisão é exibido no botão menu. O comando exibido tem uma das seguintes características:

  • É o último comando usado se o comando ainda é exibido e ativado.

  • É o primeiro comando exibido.

MenuControllerLatched

Fornece um menu drop-down de botão de divisão para o qual um comando pode ser especificado como a seleção padrão, marcando o comando como travadas.

Um comando latched é um comando que está marcado no menu conforme selecionado, geralmente exibindo uma marca de seleção. Um comando pode ser marcado como travadas se ele tiver o OLECMDF_LATCHED o sinalizador será definido nele em uma implementação da QueryStatus método da IOleCommandTarget interface. Um menu de MenuControllerLatched tem as seguintes características:

  • Deve estar contido em outro menu através de um grupo pai ou CommandPlacement.

  • Respeita o pai na sua definição.

  • Pode ter qualquer tipo de menu pai.

  • É disponibilizado sempre que for exibido o menu de seu pai.

  • Não requer suporte através de programação para tornar o menu exibido.

Um comando de menu do botão de divisão é exibido no botão menu. O comando exibido tem uma das seguintes características:

  • Ele é o primeiro comando exibido é travado.

  • É o primeiro comando exibido.

Toolbar

Fornece uma barra de ferramentas. Uma barra de ferramentas possui as seguintes características:

  • Ignora o pai na sua definição.

  • Não é possível fazer um submenu de qualquer grupo, nem mesmo usando o CommandPlacement.

  • Sempre podem ser exibidos clicando barras de ferramentas sobre o Exibir menu.

  • Pode ser exibido usando um VisibilityItem.

  • Não requer qualquer código para criá-lo. Para obter um exemplo sobre como criar uma barra de ferramentas, consulte Passo a passo: Adicionando uma barra de ferramentas ao IDE.

ToolWindowToolbar

Fornece uma barra de ferramentas que é anexada a uma janela de ferramenta específica, como uma barra de ferramentas está anexada ao ambiente de desenvolvimento.

  • Ignora o pai na sua definição.

  • Não é possível fazer um submenu de qualquer grupo, nem mesmo usando o CommandPlacement.

  • É exibido somente quando a janela de ferramenta que hospeda a barra de ferramentas é exibida e o VSPackage explicitamente adiciona a barra de ferramentas para a janela da ferramenta. Isso geralmente é feito quando a janela da ferramenta é criada, obtendo a propriedade de host da barra de ferramentas (conforme representado pela IVsToolWindowToolbarHost interface) da moldura da janela de ferramenta e, em seguida, chamada a AddToolbar método.

Condição

Opcional. Consulte Atributos de condicional do esquema XML VSCT.

Elementos filho

Elemento

Descrição

Pai

Opcional. O elemento pai do item de menu.

CommandFlag

Obrigatório. Consulte Elemento de sinalizador de comando. Os valores CommandFlag válidos para um Menu são:

AlwaysCreate

DefaultDocked

DefaultInvisible. Este sinalizador não afeta a exibição das barras de ferramentas.

DontCache

DynamicVisibility. Este sinalizador não afeta a exibição das barras de ferramentas.

IconAndText

NoCustomize

NotInTBList

NoToolbarClose

TextoAltera

TextIsAnchorCommand

Sequências

Obrigatório. Consulte Elemento de seqüências de caracteres. O filho ButtonText elemento deve ser definido.

Anotação

Comentário opcional.

Elementos pai

Elemento

Descrição

Elemento de menus

Define um VSPackage implementa todos os menus.

Exemplo

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

Consulte também

Outros recursos

Tabela Visual Studio de comando (.Arquivos de VSCT)