Como: criar barras de ferramentas para janelas de ferramentas
Você pode adicionar uma barra de ferramentas para uma janela de ferramenta, definindo um menu do tipo ToolWindowToolbar em um arquivo de .vsct de VSPackage e, em seguida, o pacote para exibi-la de programação.
Barras de ferramentas nas janelas de ferramenta diferem das barras de ferramentas no ambiente geral de desenvolvimento integrado (IDE) das seguintes maneiras:
Uma barra de ferramentas do IDE pode ser criada apenas por meio da definição de um menu do tipo Toolbar no arquivo .vsct. Uma barra de ferramentas da janela de ferramenta deve ser criada por meio de programação na janela da ferramenta de destino.
Um usuário pode configurar uma barra de ferramentas do IDE usando o Personalizar caixa de diálogo. Uma barra de ferramentas da janela de ferramenta não pode ser configurada dessa maneira.
Criando uma barra de ferramentas da janela de ferramenta
Primeiro, uma barra de ferramentas da janela de ferramenta é definida como um Elemento menu no arquivo .vsct.
Os procedimentos a seguir pressupõem que você tenha um projeto de VSPackage em que uma janela de ferramenta é definida no arquivo .vsct. Se você estiver criando um VSPackage, no Assistente de pacote, selecione Janela da ferramenta para adicionar um arquivo de .vsct para o projeto de pacote e definir uma janela de ferramenta.
Para criar uma barra de ferramentas da janela de ferramenta
Abra o arquivo de .vsct no editor.
Localize a seção que é formada pela Elemento de símbolos.
Encontrar o Elemento de GuidSymbol que contém seus menus, grupos e comandos. Por padrão, ele é denominado guid<ProjectName>CmdSet.
Adicionar um Elemento de IDSymbol para sua barra de ferramentas e outro para um grupo conter seus comandos, conforme mostrado no exemplo a seguir.
<IDSymbol name="TWToolbar" value="0x1000" /> <IDSymbol name="TWToolbarGroup" value="0x1050" />
O name atributos da GuidSymbol e IDSymbol elementos em uma barra de ferramentas definida, comando ou grupo de fornecem um par de GUID:ID que representa a barra de ferramentas, comando ou grupo. O GUID representa um conjunto de comandos que é definido para o VSPackage. Vários conjuntos de comandos podem ser definidos no pacote. O par de GUID:ID que é usado para identificar cada item deve ser exclusivo.
Logo acima da seção que é formada pela Elemento de grupos, crie uma seção usando o Elemento de menus.
Definir a barra de ferramentas como um Elemento menu na Menus seção, da seguinte maneira:
Definir o guid e id atributos para o GUID:ID da nova barra de ferramentas.
Definir o type para o atributo ToolWindowToolbar.
No Menu elemento, use o Elemento de seqüências de caracteres para criar uma seção que contém um Elemento de texto de botão e um Elemento CommandName. O ButtonText elemento é usado para definir o nome da barra de ferramentas, como ele aparece no IDE. O CommandName elemento é usado para definir o nome do comando que pode ser digitado na comando janela para acessar a barra de ferramentas.
O exemplo a seguir define uma barra de ferramentas da janela de ferramenta.
<Menu guid="guidTWToolbarCmdSet" id="TWToolbar" type="ToolWindowToolbar"> <CommandFlag>DefaultDocked</CommandFlag> <Strings> <ButtonText>Test Toolbar</ButtonText> <CommandName>Test Toolbar</CommandName> </Strings> </Menu>
No Groups seção, criar um Elemento de grupo para conter os comandos que você deseja que apareça na barra de ferramentas.
Defina a prioridade do grupo para determinar onde ela aparecerá na barra de ferramentas.
Um grupo que tenha uma configuração de prioridade baixa aparecerá no lado esquerdo da barra de ferramentas (ou superior, dependendo de como a barra de ferramentas é orientada).
Defina o pai do grupo para o GUID:ID da barra de ferramentas.
O grupo a seguir é exibida na barra de ferramentas que é definida no exemplo anterior.
<Group guid="guidTWToolbarCmdSet" id="TWToolbarGroup" priority="0x0000"> <Parent guid="guidTWToolbarCmdSet" id="TWToolbar" /> </Group>
Exibindo a barra de ferramentas na janela da ferramenta
Use a estrutura de pacote gerenciado (MPF) para programar o pacote para exibir a barra de ferramentas na janela da ferramenta.
O ToolBar propriedade da ToolWindowPane classe leva um CommandID instância como seu valor. O CommandID instância leva uma Guid (string) e e uma identificação de (int). Por configurá-los para o par de GUID:ID da barra de ferramentas, a barra de ferramentas é vinculada a janela da ferramenta. Normalmente, isso é feito no construtor da classe que deriva de ToolWindowPane classe.
Uma janela de ferramenta de código gerenciado que é criada usando o MPF pode ter apenas uma barra de ferramentas.
Para exibir a barra de ferramentas na janela da ferramenta
Quando você cria um VSPackage usando o Assistente de pacote, o conjunto de comandos GUIDs são adicionados automaticamente para o GuidList classe, que é definido no arquivo Guids.cs. Menu gerado e IDs de comando são adicionados para o PkgCmdIDList classe, que é definido em PkgCmdID.cs. Em seguida, os valores GUID e ID podem ser acessados, em um formato legível, por meio dessas duas classes.
Abra PkgCmdID.cs.
Adicione uma entrada para a barra de ferramentas da janela de ferramenta e para todos os comandos que você deseja que apareça na barra de ferramentas. O valor de cada entrada deve corresponder a value atributo do associado IDSymbol elemento.
O exemplo a seguir cria uma entrada para a barra de ferramentas definida anteriormente.
public const int TWToolbar = 0x1000;
Abra MyToolWindow.cs.
No construtor, defina a ToolBar propriedade da MyToolWindow classe para uma nova CommandID instância com Guid e ID da barra de ferramentas como parâmetros, conforme mostrado no exemplo a seguir.
this.ToolBar = new CommandID( GuidList.guidTWToolbarCmdSet, PkgCmdIDList.TWToolbar);
Se as classes GuidList e PkgCmdIDList não estiverem definidas, você pode usar o String o valor da GUID e o Int o valor da ID em vez disso.
Consulte também
Tarefas
Como: criar grupos reutilizáveis de botões
Passo a passo: Adicionando uma barra de ferramentas para uma janela de ferramenta