Aggiungere una barra degli strumenti a una finestra degli strumenti

Questa procedura dettagliata illustra come aggiungere una barra degli strumenti a una finestra degli strumenti.

Una barra degli strumenti è una striscia orizzontale o verticale che contiene pulsanti associati ai comandi. La lunghezza di una barra degli strumenti in una finestra degli strumenti è sempre uguale alla larghezza o all'altezza della finestra degli strumenti, a seconda della posizione in cui è ancorata la barra degli strumenti.

A differenza delle barre degli strumenti nell'IDE, una barra degli strumenti in una finestra degli strumenti deve essere ancorata e non può essere spostata o personalizzata. Se il VSPackage viene scritto in codice non gestito, la barra degli strumenti può essere ancorata su qualsiasi bordo.

Per altre informazioni su come aggiungere una barra degli strumenti, vedere Aggiunta di una barra degli strumenti.

Creare una barra degli strumenti per una finestra degli strumenti

  1. Creare un progetto VSIX denominato TWToolbar con un comando di menu denominato TWTestCommand e una finestra degli strumenti denominata TestToolWindow. Per altre informazioni, vedere Creare un'estensione con un comando di menu e Creare un'estensione con una finestra degli strumenti. È necessario aggiungere il modello di elemento di comando prima di aggiungere il modello della finestra degli strumenti.

  2. In TWTestCommandPackage.vsct cercare la sezione Simboli. Nel nodo GuidSymbol denominato guidTWTestCommandPackageCmdSet dichiarare una barra degli strumenti e un gruppo di barre degli strumenti, come indicato di seguito.

    <IDSymbol name="TWToolbar" value="0x1000" />
    <IDSymbol name="TWToolbarGroup" value="0x1050" />
    
  3. Nella parte superiore della Commands sezione creare una Menus sezione. Aggiungere un Menu elemento per definire la barra degli strumenti.

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

    Le barre degli strumenti non possono essere annidate come sottomenu. Pertanto, non è necessario assegnare un elemento padre. Inoltre, non è necessario impostare una priorità, perché l'utente può spostare le barre degli strumenti. In genere, il posizionamento iniziale di una barra degli strumenti viene definito a livello di codice, ma le modifiche successive apportate dall'utente vengono mantenute.

  4. Nella sezione Gruppi definire un gruppo per contenere i comandi per la barra degli strumenti.

    
    <Group guid="guidTWTestCommandPackageCmdSet" id="TWToolbarGroup" priority="0x0000">
        <Parent guid="guidTWTestCommandPackageCmdSet" id="TWToolbar" />
    </Group>
    
  5. Nella sezione Pulsanti modificare l'elemento padre dell'elemento Button esistente nel gruppo della barra degli strumenti in modo che venga visualizzata la barra degli strumenti.

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

    Per impostazione predefinita, se una barra degli strumenti non dispone di comandi, non viene visualizzata.

    Poiché la nuova barra degli strumenti non viene aggiunta automaticamente alla finestra degli strumenti, la barra degli strumenti deve essere aggiunta in modo esplicito. Questo è discusso nella sezione seguente.

Aggiungere la barra degli strumenti alla finestra degli strumenti

  1. In TWTestCommandPackageGuids.cs aggiungere le righe seguenti.

    public const string guidTWTestCommandPackageCmdSet = "00000000-0000-0000-0000-0000";  // get the GUID from the .vsct file
    public const int TWToolbar = 0x1000;
    
  2. In TestToolWindow.cs aggiungere l'istruzione using seguente.

    using System.ComponentModel.Design;
    
  3. Nel costruttore TestToolWindow aggiungere la riga seguente.

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

Testare la barra degli strumenti nella finestra degli strumenti

  1. Compilare il progetto e avviare il debug. Verrà visualizzata l'istanza sperimentale di Visual Studio.

  2. Nel menu Visualizza/Altre finestre fare clic su Strumento di testWindow per visualizzare la finestra degli strumenti.

    Verrà visualizzata una barra degli strumenti (simile all'icona predefinita) nella parte superiore sinistra della finestra degli strumenti, appena sotto il titolo.

  3. Sulla barra degli strumenti fare clic sull'icona per visualizzare il messaggio TWTestCommandPackage Inside TWToolbar.TWTestCommand.MenuItemCallback().