Compartilhar via


Adicionar uma barra de ferramentas a uma janela de ferramentas

Este passo a passo demonstra como adicionar uma barra de ferramentas a uma janela de ferramentas.

Uma barra de ferramentas é uma faixa horizontal ou vertical com botões vinculados a comandos. O comprimento de uma barra de ferramentas em uma janela de ferramentas é sempre igual à largura ou à altura da janela de ferramentas, dependendo de onde a barra de ferramentas está encaixada.

Ao contrário das barras de ferramentas no IDE, uma barra de ferramentas em uma janela de ferramentas deve ser encaixada e não pode ser movida ou personalizada. Se o VSPackage estiver gravado em código não gerenciado, a barra de ferramentas poderá ser encaixada em qualquer borda.

Para obter mais informações sobre como adicionar uma barra de ferramentas, consulte Como adicionar uma barra de ferramentas.

Criar uma barra de ferramentas para uma janela de ferramentas

  1. Crie um projeto VSIX chamado TWToolbar que tenha um comando de menu chamado TWTestCommand e uma janela de ferramentas chamada TestToolWindow. Para obter mais informações, consulte Criar uma extensão com um comando de menu e Criar uma extensão com uma janela de ferramentas. É necessário adicionar o modelo de item de comando antes de adicionar o modelo de janela de ferramentas.

  2. Em TWTestCommandPackage.vsct, procure a seção Símbolos. No nó GuidSymbol chamado guidTWTestCommandPackageCmdSet, declare uma barra de ferramentas e um grupo de barras de ferramentas, da maneira a seguir.

    <IDSymbol name="TWToolbar" value="0x1000" />
    <IDSymbol name="TWToolbarGroup" value="0x1050" />
    
  3. Na parte superior da seção Commands, crie uma seção Menus. Adicione um elemento Menu para definir a barra de ferramentas.

    <Menus>
        <Menu guid="guidTWTestCommandPackageCmdSet" id="TWToolbar" type="ToolWindowToolbar">
            <CommandFlag>DefaultDocked</CommandFlag>
            <Strings>
                <ButtonText>Test Toolbar</ButtonText>
                <CommandName>Test Toolbar</CommandName>
            </Strings>
        </Menu>
    </Menus>
    

    Não é possível aninhar as barras de ferramentas como submenus. Portanto, você não precisa atribuir um pai. Além disso, não é necessário definir uma prioridade, porque o usuário pode mover as barras de ferramentas. Normalmente, o posicionamento inicial de uma barra de ferramentas é definido programaticamente, mas as alterações subsequentes pelo usuário são persistentes.

  4. Na seção Grupos, defina um grupo para conter os comandos da barra de ferramentas.

    
    <Group guid="guidTWTestCommandPackageCmdSet" id="TWToolbarGroup" priority="0x0000">
        <Parent guid="guidTWTestCommandPackageCmdSet" id="TWToolbar" />
    </Group>
    
  5. Na seção Botões, altere o pai do elemento Button existente para o grupo da barra de ferramentas para que a barra de ferramentas seja exibida.

    <Button guid="guidTWTestCommandPackageCmdSet" id="TWTestCommandId" priority="0x0100" type="Button">
        <Parent guid="guidTWTestCommandPackageCmdSet" id="TWToolbarGroup" />
        <Icon guid="guidImages" id="bmpPic1" />
        <Strings>
            <ButtonText>Invoke TWTestCommand</ButtonText>
        </Strings>
    </Button>
    

    Por padrão, se uma barra de ferramentas não contiver comandos, ela não será exibida.

    Como a nova barra de ferramentas não é adicionada automaticamente à janela da ferramentas, ela deverá ser adicionada explicitamente. Isso é abordado na próxima seção.

Adicionar uma barra de ferramentas á janela de ferramentas

  1. Em TWTestCommandPackageGuids.cs adicione as linhas a seguir.

    public const string guidTWTestCommandPackageCmdSet = "00000000-0000-0000-0000-0000";  // get the GUID from the .vsct file
    public const int TWToolbar = 0x1000;
    
  2. Em TestToolWindow.cs adicione as opções a seguir usando uma instrução.

    using System.ComponentModel.Design;
    
  3. No construtor TestToolWindow, adicione a linha a seguir.

    this.ToolBar = new CommandID(new Guid(TWTestCommandPackageGuids.guidTWTestCommandPackageCmdSet), TWTestCommandPackageGuids.TWToolbar);
    

Testar a barra de ferramentas na janela de ferramentas

  1. Compile o projeto e comece a depuração. A instância experimental do Visual Studio deverá ser exibida.

  2. No menu Exibir / Outras janelas, clique em Testar ToolWindow para exibir a janela da ferramentas.

    Você deverá ver uma barra de ferramentas (parece o ícone padrão) no canto superior esquerdo da janela da ferramentas, logo abaixo do título.

  3. Na barra de ferramentas, clique no ícone para exibir a mensagem TWTestCommandPackage Inside TWToolbar.TWTestCommand.MenuItemCallback().