Ajout d’une barre d’outils à une fenêtre outilAdding a Toolbar to a Tool Window

Cette procédure pas à pas montre comment ajouter une barre d’outils à une fenêtre outil.This walkthrough shows how to add a toolbar to a tool window.

Une barre d’outils est une barre horizontale ou verticale qui contient les boutons liés à des commandes.A toolbar is a horizontal or vertical strip that contains buttons bound to commands. La longueur d’une barre d’outils dans une fenêtre outil est toujours identique à la largeur ou hauteur de la fenêtre outil, selon l’endroit où la barre d’outils est ancrée.The length of a toolbar in a tool window is always the same as the width or height of the tool window, depending on where the toolbar is docked.

Contrairement aux barres d’outils dans l’IDE, une barre d’outils dans une fenêtre outil doit être ancré et ne peut pas être déplacé ou personnalisé.Unlike toolbars in the IDE, a toolbar in a tool window must be docked and cannot be moved or customized. Si le VSPackage est écrit dans le code umanaged, la barre d’outils peut être ancrée sur le bord.If the VSPackage is written in umanaged code, the toolbar can be docked on any edge.

Pour plus d’informations sur l’ajout d’une barre d’outils, consultez Ajout d’une barre d’outils.For more information about how to add a toolbar, see Adding a Toolbar.

PrérequisPrerequisites

À partir de Visual Studio 2015, vous n’installez pas le Kit de développement logiciel Visual Studio à partir du centre de téléchargement.Starting in Visual Studio 2015, you do not install the Visual Studio SDK from the download center. Il est inclus comme une fonctionnalité facultative dans le programme d’installation de Visual Studio.It is included as an optional feature in Visual Studio setup. Vous pouvez également installer le kit SDK VS ultérieurement.You can also install the VS SDK later on. Pour plus d’informations, consultez l’installation de Visual Studio SDK.For more information, see Installing the Visual Studio SDK.

Création d’une barre d’outils pour une fenêtre outilCreating a Toolbar for a Tool Window

  1. Créez un projet VSIX nommé TWToolbar qui possède à la fois une commande de menu nommée TWTestCommand et une fenêtre Outil nommée TestToolWindow.Create a VSIX project named TWToolbar that has both a menu command named TWTestCommand and a tool window named TestToolWindow. Pour plus d’informations, consultez création d’une Extension avec une commande de Menu et création d’une Extension avec une fenêtre outil.For more information, see Creating an Extension with a Menu Command and Creating an Extension with a Tool Window. Vous devez ajouter le modèle d’élément de commande avant d’ajouter le modèle de fenêtre outil.You need to add the command item template before adding the tool window template.

  2. Dans TWTestCommandPackage.vsct, recherchez la section de symboles.In TWTestCommandPackage.vsct, look for the Symbols section. Dans le nœud GuidSymbol nommé guidTWTestCommandPackageCmdSet déclarer une barre d’outils et d’un groupe de la barre d’outils, comme suit.In the GuidSymbol node named guidTWTestCommandPackageCmdSet declare a toolbar and a toolbar group, as follows.

    <IDSymbol name="TWToolbar" value="0x1000" />  
    <IDSymbol name="TWToolbarGroup" value="0x1050" />  
    
  3. En haut de la Commands en créant un Menus section.At the top of the Commands section, create a Menus section. Ajouter un Menu élément pour définir la barre d’outils.Add a Menu element to define the toolbar.

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

    Barres d’outils ne peuvent pas être imbriqués comme des sous-menus.Toolbars cannot be nested like submenus. Par conséquent, vous n’avez pas à affecter un parent.Therefore, you do not have to assign a parent. En outre, il est inutile définir une priorité, car l’utilisateur peut déplacer des barres d’outils.Also, you do not have to set a priority, because the user can move toolbars. En règle générale, la sélection élective initiale d’une barre d’outils est définie par programme, mais les modifications ultérieures apportées par l’utilisateur sont conservées.Typically, initial placement of a toolbar is defined programmatically, but subsequent changes by the user are persisted.

  4. Dans la section groupes, définir un groupe pour contenir les commandes de la barre d’outils.In the Groups section, define a group to contain the commands for the toolbar.

    
    <Group guid="guidTWTestCommandPackageCmdSet" id="TWToolbarGroup" priority="0x0000">  
        <Parent guid="guidTWTestCommandPackageCmdSet" id="TWToolbar" />  
    </Group>  
    
  5. Dans la section de boutons, changer le parent de l’élément bouton existant au groupe de barre d’outils afin que la barre d’outils s’affiche.In the Buttons section, change the parent of the existing Button element to the toolbar group so that the toolbar will be displayed.

    <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>  
    

    Par défaut, si une barre d’outils n’a aucune commande, il n’apparaît pas.By default, if a toolbar has no commands, it does not appear.

    Étant donné que la nouvelle barre d’outils n’est pas automatiquement ajouté à la fenêtre outil, la barre d’outils doit être ajouté explicitement.Because the new toolbar is not automatically added to the tool window, the toolbar must be added explicitly. Cette situation est présentée dans la section suivante.This is discussed in the next section.

Ajout de la barre d’outils à la fenêtre outilAdding the Toolbar to the Tool Window

  1. Dans TWTestCommandPackageGuids.cs, ajoutez les lignes suivantes.In TWTestCommandPackageGuids.cs add the following lines.

    public const string guidTWTestCommandPackageCmdSet = "00000000-0000-0000-0000-0000";  // get the GUID from the .vsct file  
    public const int TWToolbar = 0x1000;  
    
  2. Dans TestToolWindow.cs, ajoutez le code suivant à l’aide d’instruction.In TestToolWindow.cs add the following using statement.

    using System.ComponentModel.Design;  
    
  3. Dans le constructeur TestToolWindow, ajoutez la ligne suivante.In the TestToolWindow constructor add the following line.

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

La barre d’outils de test dans la fenêtre outilTesting the Toolbar in the Tool Window

  1. Générez le projet et commencez le débogage.Build the project and start debugging. L’instance expérimentale de Visual Studio doit apparaître.The Visual Studio experimental instance should appear.

  2. Sur le affichage / autres fenêtres menu, cliquez sur Test ToolWindow pour afficher la fenêtre outil.On the View / Other Windows menu, click Test ToolWindow to display the tool window.

    Vous devez voir une barre d’outils (il ressemble à l’icône par défaut) en haut à gauche de la fenêtre outil, juste en dessous du titre.You should see a toolbar (it looks like the default icon) at the top left of the tool window, just below the title.

  3. Dans la barre d’outils, cliquez sur l’icône pour afficher le message TWTestCommandPackage dans TWToolbar.TWTestCommand.MenuItemCallback().On the toolbar, click the icon to display the message TWTestCommandPackage Inside TWToolbar.TWTestCommand.MenuItemCallback().

Voir aussiSee Also

Ajout d’une barre d’outilsAdding a Toolbar