Adicionar ícones aos comandos de menu

Os comandos podem aparecer em menus e barras de ferramentas. Em barras de ferramentas, é comum que um comando seja exibido com apenas um ícone (para economizar espaço), enquanto nos menus um comando normalmente aparece com um ícone e texto.

Os ícones têm 16 pixels de largura por 16 pixels de altura e podem ter profundidade de cor de 8 bits (256 cores) ou profundidade de cor de 32 bits (true color). Ícones coloridos de 32 bits são preferidos. Normalmente, os ícones são organizados em uma única linha horizontal em um único bitmap, embora vários bitmaps sejam permitidos. Esse bitmap é declarado no arquivo .vsct junto com os ícones individuais disponíveis no bitmap. Consulte a referência do elemento Bitmaps para obter mais detalhes.

Adicionar um ícone a um comando

O procedimento a seguir pressupõe que você tenha um projeto VSPackage existente com um comando de menu. Para saber como fazer isso, consulte Criar uma extensão com um comando de menu.

  1. Crie um bitmap com uma profundidade de cor de 32 bits. Um ícone é sempre 16 x 16, então esse bitmap deve ter 16 pixels de altura e um múltiplo de 16 pixels de largura.

    Cada ícone é colocado no bitmap um ao lado do outro em uma única linha. Use o canal alfa para indicar locais de transparência em cada ícone.

    Se você usar uma profundidade de cor de 8 bits, use magenta, , RGB(255,0,255)como a transparência. No entanto, ícones coloridos de 32 bits são preferidos.

  2. Copie o arquivo de ícone para o diretório Resources em seu projeto VSPackage. No Gerenciador de Soluções, adicione o ícone ao projeto. (Selecione Recursos e, no menu de contexto, clique em Adicionar, em Item Existente e selecione o arquivo de ícones.)

  3. Abra o arquivo .vsct no editor.

  4. Adicione um elemento com um GuidSymbol nome de testIcon. Crie um GUID (Ferramentas>Criar GUID, selecione Formato do Registro e clique em Copiar) e cole-o no value atributo. O resultado deverá ter a seguinte aparência:

    <!-- Create your own GUID -->
    <GuidSymbol name="testIcon" value="{00000000-0000-0000-0000-0000}">
    
  5. Adicione um <IDSymbol> para o ícone. O name atributo é o ID do ícone e o value indica sua posição na faixa, se houver. Se houver apenas um ícone, adicione 1. O resultado deverá ter a seguinte aparência:

    <!-- Create your own GUID -->
    <GuidSymbol name="testIcon" value="{00000000-0000-0000-0000-0000}">
        <IDSymbol name="testIcon1" value="1" />
    </GuidSymbol>
    
  6. Crie um <Bitmap> na <Bitmaps> seção dentro da seção do <Commands> arquivo .vsct para representar o bitmap que contém os ícones.

    • Defina o valor como o guid nome do <GuidSymbol> elemento criado na etapa anterior.

    • Defina o href valor para o caminho relativo do arquivo bitmap (neste caso , Resources\<icon file name>.

    • Defina o valor para o usedList IDSymbol que você criou anteriormente. Esse atributo especifica uma lista delimitada por vírgulas dos ícones a serem usados no VSPackage. Ícones que não estão na lista são excluídos da compilação de formulários.

      O bloco Bitmap deve ter esta aparência:

      <Bitmap guid="testIcon" href="Resources\<icon file name>" usedList="testIcon1"/>
      
  7. No elemento existente <Button> , defina o Icon elemento para os valores GUIDSymbol e IDSymbol criados anteriormente. Aqui está um exemplo de um elemento Button com esses valores:

    <Button guid="guidAddIconCmdSet" id="cmdidMyCommand" priority="0x0100" type="Button">
        <Parent guid="guidAddIconCmdSet" id="MyMenuGroup" />
        <Icon guid="testIcon" id="testIcon1" />
        <Strings>
            <ButtonText>My Command name</ButtonText>
        </Strings>
    </Button>
    
  8. Teste seu ícone. Compile o projeto e comece a depuração. Na instância experimental, localize o comando. Ele deve mostrar o ícone que você adicionou.