Condividi tramite


Procedura: visualizzare un'icona personalizzata sul pulsante del componente aggiuntivo

È possibile sostituire l'icona predefinita, ovvero la faccia a forma di smiley visualizzata accanto al comando del componente aggiuntivo, con un'icona diversa da quelle standard non predefinite come illustrato in Procedura: modificare l'icona predefinita per un componente aggiuntivo.

A questo scopo, eseguire le operazioni riportate di seguito.

  • Aggiungere una bitmap di icona come risorsa in un progetto.

  • Impostare il parametro MSOButton nel metodo AddNamedCommand2 su false per inviare al metodo una notifica per la ricerca della bitmap di icona.

  • Fare riferimento al numero ID della risorsa nella sezione della barra dei comandi del progetto del componente aggiuntivo.

Nella procedura riportata di seguito viene illustrato come aggiungere un'icona personalizzata sul pulsante del componente aggiuntivo.

[!NOTA]

È possibile che le finestre di dialogo e i comandi di menu visualizzati siano diversi da quelli descritti nella Guida a seconda delle impostazioni attive o dell'edizione del programma.Queste procedure sono state sviluppate con le Impostazioni generali per lo sviluppo attive.Per modificare le impostazioni, scegliere Importa/EsportaImpostazioni dal menu Strumenti.Per ulteriori informazioni, vedere Impostazioni di Visual Studio.

Per aggiungere l'immagine bitmap personalizzata come icona del pulsante del componente aggiuntivo a un progetto del componente aggiuntivo

  1. Aprire una soluzione del componente aggiuntivo esistente oppure creare una nuova soluzione del componente aggiuntivo in Visual Studio.

  2. Aggiungere un nuovo file di risorse al progetto del componente aggiuntivo.Per eseguire questa operazione, seguire la procedura seguente:

    1. Fare clic con il pulsante destro del mouse sul progetto del componente aggiuntivo in Esplora soluzioni.

    2. Scegliere Nuovo elemento dal menu Aggiungi.

    3. Selezionare File di risorse nell'elenco Modelli, quindi fare clic sul pulsante Aggiungi.Non modificare il nome predefinito (Resources1.resx).

      Verrà avviato l'Editor risorse di Visual Studio.

  3. Se il file di risorse non è visualizzato in Esplora soluzioni, fare clic sul pulsante Mostra tutti i file sulla barra degli strumenti.

  4. Come argomento bitmap di un componente aggiuntivo è necessario specificare un valore intero.L'impostazione di questa proprietà consente di modificare il file di risorse e il nome della relativa risorsa bitmap con un identificatore numerico, operazione non consentita quando il file .resx è parte del progetto del componente aggiuntivo.

  5. Nell'Editor risorse fare clic su Aggiungi risorsa e nell'elenco a discesa selezionare Nuova immagine e quindi Immagine BMP.Non modificare per il momento il nome predefinito (Image1.bmp).

    In alternativa è possibile selezionare un'immagine bitmap esistente di 16 x 16 pixel e 16 colori o 16,8 milioni di colori.Le icone personalizzate dei componenti aggiuntivi, infatti, devono essere pari a 16 x 16 pixel e 16 colori o 16,8 milioni di colori.

  6. Nella finestra delle proprietà della bitmap impostare le proprietà Altezza e Larghezza su 16.Impostare la proprietà Colori su 16 colori o 16,8 milioni di colori.

  7. Se è stata creata una nuova bitmap, modificare l'immagine nell'Editor risorse.

  8. Aprire la classe Connect per il componente aggiuntivo.Nel metodo OnConnection incluso nella riga AddNamedCommand2 modificare il valore del parametro MSOButton da true a false e il valore del parametro Bitmap da 59 a 1.Di seguito è riportato un esempio:

    command = commands.AddNamedCommand2(_addInInstance, "MyAddin1", " 
    MyAddin1", "Executes the command for MyAddin1", False, 1, Nothing, 
    CType(vsCommandStatus.vsCommandStatusSupported, Integer) + 
    CType(vsCommandStatus.vsCommandStatusEnabled, Integer), 
    vsCommandStyle.vsCommandStylePictAndText, 
    vsCommandControlType.vsCommandControlTypeButton)
    
    Command command = commands.AddNamedCommand2(_addInInstance, 
    "MyAddin1", "MyAddin1", "Executes the command for MyAddin1", false, 
    1, ref contextGUIDS, 
    (int)vsCommandStatus.vsCommandStatusSupported+(int)vsCommandStatus.
    vsCommandStatusEnabled, (int)vsCommandStyle.vsCommandStylePictAndText, 
    vsCommandControlType.vsCommandControlTypeButton);
    

    Impostando l'argomento MSOButton sul valore False si impone al componente aggiuntivo di cercare nel file di risorse l'immagine bitmap del relativo pulsante.Il numero 1 rappresenta l'identificatore dell'immagine bitmape verrà impostato in un passaggio successivo.

  9. Al termine, scegliere Salva tutto dal menu File, selezionare Compila soluzione nel menu Compila, quindi scaricare il progetto.A tale scopo, fare clic con il pulsante destro del mouse sul nodo di progetto in Esplora soluzioni e quindi scegliere Scarica progetto.

  10. In Esplora file, utilizzare Blocco note modificare il file Resource1.resx.

  11. Cercare tutte le istanze di "Image1" e impostarle su "1." Al termine, salvare il file.

  12. Nella cartella \Resources del componente aggiuntivo modificare il nome del file bitmap da Image1.bmp in 1.bmp.

  13. Ricaricare nuovamente il progetto di componente aggiuntivo, facendo clic con il pulsante destro del mouse sul nodo di progetto in Esplora soluzioni e scegliendo Ricarica progetto, e quindi eseguirlo.

  14. Fare clic sul menu Strumenti.

    Il componente aggiuntivo verrà visualizzato nel menu Strumenti insieme all'icona personalizzata.

Per aggiungere l'immagine bitmap personalizzata come icona del pulsante del componente aggiuntivo a un progetto del componente aggiuntivo Visual C++ nativo

  1. Seguire la stesse procedure sopra illustrate modificando gli elementi seguenti.

  2. Creare un nuovo progetto DLL Win32 Visual C++.

  3. Aggiungere un file di risorse (.rc)

  4. In Visualizzazione risorse aggiungere un'immagine bitmap (16 x 16) e assegnarle un ID numerico.

    L'immagine bitmap deve essere pari a 16 x 16 pixel e 16 colori o 16,8 milioni di colori.

  5. Aggiornare il metodo AddNamedCommand2 in Connect.cpp con MSOButton impostato su VARIANT_FALSE e Bitmap impostato sull'ID della bitmap assegnato in precedenza.

  6. Compilare la DLL.

  7. Creare una sottocartella "1033" (per le impostazioni locali in lingua inglese) nella directory della DLL del componente aggiuntivo.

  8. Copiare la DLL satellite nella directory "1033".

  9. Aprire AddIn.rgs e aggiungere i due valori delle chiavi di Registro del sistema "SatelliteDllName" e "SatelliteDllPath". Di seguito è riportato un esempio:

    HKCU
    {
       NoRemove 'SOFTWARE'
       {
          NoRemove 'Microsoft'
          {
             NoRemove 'VisualStudio'
             {
                NoRemove '8.0'
                {
                   NoRemove 'AddIns'
                   {
                      ForceRemove 
                        'NativeAddinCustBitmap.Connect'
                         {
                           val LoadBehavior = d 0
                           val CommandLineSafe = d 0
                           val CommandPreload = d 1
                           val FriendlyName = s 'NativeAddinCustBitmap'
                           val Description = s 'NativeAddinCustBitmap 
                             Description'
                           val SatelliteDllName = s  
                             'NativeAddinCustBitmapUI.dll'
                           val SatelliteDllPath = s 
                             'C:\Test\CustomBitmap\NativeAddinCustBitmap
                             \NativeAddinCustBitmap\Debug'
                         }
                      }
                   }
                }
             }
          }
       }
    

    In "SatelliteDllPath" non aggiungere l'ID delle impostazioni locali nel percorsopoiché questa operazione viene eseguita automaticamente in fase di esecuzione.

  10. Generare di nuovo il componente aggiuntivo per registrare le informazioni aggiornate.

Vedere anche

Attività

Procedura: modificare l'icona predefinita per un componente aggiuntivo

Procedura: esporre un componente aggiuntivo come pulsante sulla barra degli strumenti

Concetti

Visualizzazione di componenti aggiuntivi nei menu e sulle barre degli strumenti