Compartilhar via


Barra de menu suspenso

A barra de menu suspenso é fornecida na parte superior da janela de código e contém duas listas suspensas.

Interfaces de barra suspensa

Na Visual C++, por exemplo, a barra de menu suspenso contém listas de Visual C++ itens e Visual C++ funções de membro de itens, como mostrado na figura a seguir.

Barra de menu suspenso

Barras suspensas

Ao implementar uma barra de menu suspenso, há quatro interfaces de importância fundamental:

  • IVsDropdownBarClient

    Implemente esta interface para inserir o conteúdo da barra de menu suspenso. Cada combinação drop-down pode conter texto sem formatação ou texto decorativo (negrito, sublinhado ou itálico), pode ter coloração de fonte do texto de janela ou fonte acinzentada coloração e opcionalmente pode fornecer um bitmap pequeno ao lado do item de lista suspensa. Semelhante a IVsCompletionSet interface, imagens de bitmap são fornecidas nas listas de imagem. Cada combinação drop-down pode ter uma lista de imagem diferente; No entanto, cada lista de imagem deve conter imagens da mesma altura. Além disso, usando o GetComboTipText método, você pode fornecer uma dica de ferramenta para cada combinação.

  • IVsDropdownBarManager

    Chame esta interface para criar ou destruir a barra de menu suspenso para uma janela de código. Essa interface também pode ser usada para determinar se uma barra de menu suspenso já está anexada a uma janela de código, chamando o GetDropdownBar método. Call QueryInterface for IVsDropdownBarManager from IVsCodeWindow.

  • IVsDropdownBar

    Chame esta interface para se comunicar diretamente com a barra de menu suspenso. Você pode usar esta interface para forçar a atualização da lista suspensa da barra de conteúdo ou para alterar a seleção em uma das caixas de listagem.

  • IVsTextManagerEvents

    Se você registrou o ShowDropdownBarOption em sua chave de registro de serviço do idioma, em seguida, seu Gerenciador de janelas de código deve monitorar esse evento para sincronizar com as preferências do usuário em relação ao que se a barra de menu suspenso deve ser exibida. Se você não registrar esta opção em sua chave do serviço de linguagem, então a opção para mostrar ou ocultar a barra de menu suspenso está desabilitada no Opções menu.

Anexar uma barra de menu suspenso para uma janela de código

Para anexar uma barra de menu suspenso para a janela de código quando ele é criado, um serviço de linguagem deve ser anexado na lista suspensa da barra quando o AddAdornments método é chamado. Se uma chamada para o GetDropdownBar método indica que uma barra suspensa ainda não existir, então chame AddDropdownBar. Para acesso a IVsDropdownBarManager interface, chame QueryInterface da IVsCodeWindow ponteiro retornado a você quando seu IVsCodeWindowManager implementação foi anexada.

Consulte também

Conceitos

Personalizando o Windows de código usando a API Legacy

Suporte para a barra de navegação (estrutura de pacote gerenciado)