Freigeben über


Gewusst wie: Anzeigen eines benutzerdefinierten Symbols auf der Schaltfläche für das Add-In

Add-Ins für Visual Studio sind in Visual Studio 2013 veraltet. Sie müssen für Ihre Add-Ins ein Upgrade auf VSPackage-Erweiterungen durchführen. Weitere Informationen über das Durchführen eines Upgrades finden Sie unter FAQ: Konvertieren von Add-Ins in VSPackage-Erweiterungen.

Sie können das neben dem Add-In-Befehl angezeigte Standardsymbol (das Smileysymbol) durch ein Symbol ersetzen, das nicht zu den unter Gewusst wie: Ändern des Standardsymbols für ein Add-In beschriebenen Standardsymbolen gehört.

Dazu führen Sie folgende Schritte aus:

  • Fügen Sie die Symbolbitmap im Projekt als Ressource hinzu.

  • Legen Sie den MSOButton-Parameter in der AddNamedCommand2-Methode auf false fest (die Methode wird angewiesen, nach der Symbolbitmap zu suchen).

  • Nehmen Sie einen Verweis auf die ID-Nummer dieser Ressource in den Bereich commandbar des Add-In-Projekts auf.

Im folgenden Verfahren wird veranschaulicht, wie Sie der Schaltfläche für das Add-In ein benutzerdefiniertes Symbol hinzufügen.

Hinweis

Je nach den aktiven Einstellungen oder der Version unterscheiden sich die Dialogfelder und Menübefehle auf Ihrem Bildschirm möglicherweise von den in der Hilfe beschriebenen.Bei der Entwicklung dieser Verfahren war die Option Allgemeine Entwicklungseinstellungen aktiviert.Wählen Sie im Menü Extras die Option Einstellungen importieren und exportieren aus, um die Einstellungen zu ändern.Weitere Informationen finden Sie unter Anpassen der Entwicklungseinstellungen in Visual Studio.

So fügen Sie einem Add-In-Projekt eine benutzerdefinierte Bitmap als Symbol für die Add-In-Schaltfläche hinzu

  1. Öffnen Sie eine vorhandene Add-In-Lösung, oder erstellen Sie in Visual Studio eine neue Add-In-Lösung.

  2. Fügen Sie dem Add-In-Projekt eine neue Ressourcendatei hinzu. Gehen Sie dazu wie folgt vor:

    1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Add-In-Projekt.

    2. Wählen Sie im Menü Hinzufügen die Option Neues Element.

    3. Wählen Sie in der Liste Vorlagen den Eintrag Ressourcendatei, und klicken Sie auf die Schaltfläche Hinzufügen. Übernehmen Sie den Standardnamen (Resources1.resx).

      Dadurch wird der Visual Studio-Ressourcen-Editor gestartet.

  3. Wenn die Ressourcendatei im Projektmappen-Explorer nicht angezeigt wird, klicken Sie auf der Symbolleiste auf die Schaltfläche Alle Dateien anzeigen.

  4. Add-Ins erfordern einen ganzzahligen Wert als Bitmapargument. Wenn Sie diese Eigenschaft festlegen, können Sie die Ressourcendatei bearbeiten und ihrer Bitmapressource einen numerischen Bezeichner als Namen zuweisen. Dies ist nicht möglich, wenn die RESX-Datei Teil eines Add-In-Projekts ist.

  5. Klicken Sie im Ressourcen-Editor auf Ressource hinzufügen, und wählen Sie in der Dropdownliste Neues Bild und anschließend BMP-Bild aus. Behalten Sie vorerst den Standardnamen (Image1.bmp) bei.

    Alternativ können Sie ein anderes Bitmapbild mit einer Auflösung von 16 x 16 Pixel und der Farbeinstellung 16 Farben oder True Color verwenden. Benutzerdefinierte Symbole für Add-Ins müssen eine Auflösung von 16 x 16 Pixel und die Farbeinstellung 16 Farben oder True Color haben.

  6. Legen Sie im Bitmapeigenschaftenfenster für die Eigenschaften Höhe und Breite als Wert 16 fest. Legen Sie in der Eigenschaft Farben die Farbtiefe auf "16 Farben" oder "True Color" fest.

  7. Wenn Sie eine neue Bitmap erstellt haben, bearbeiten Sie das Bild im Ressourcen-Editor.

  8. Öffnen Sie die Connect-Klasse für das Add-In. Ändern Sie in der OnConnection-Methode in der Zeile AddNamedCommand2 den MSOButton-Parameterwert von true in false und den Bitmap-Parameterwert von 59 in 1. Beispiel:

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

    Durch Festlegen des MSOButton-Arguments auf false erzwingen Sie, dass das Add-In in einer Ressourcendatei nach dem Bitmap für die Schaltfläche sucht. Die Zahl 1 ist der Bezeichner für diese Bitmap. (Dieser wird in einem späteren Schritt festgelegt.)

  9. Sobald Sie fertig sind, wählen Sie im Menü Datei den Befehl Alle speichern aus, wählen Sie im Menü Erstellen den Befehl Projektmappe erstellen aus, und entladen Sie dann das Projekt. Klicken Sie hierzu im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten, und klicken Sie anschließend auf Projekt entladen.

  10. Verwenden Sie im Datei-Explorer den Editor, um die Datei "Resource1.resx" zu bearbeiten.

  11. Suchen Sie nach allen Instanzen von "Image1", und ändern Sie sie in "1". Sobald Sie fertig sind, speichern Sie die Datei.

  12. Ändern Sie im Ordner \Resources des Add-Ins den Namen der Bitmapdatei von Image1.bmp in 1.bmp.

  13. Laden Sie das Add-In-Projekt neu, indem Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten klicken und anschließend auf Projekt erneut laden klicken, und führen Sie es aus.

  14. Klicken Sie auf das Menü Extras.

    Das Add-In wird zusammen mit dem benutzerdefinierten Symbol im Menü Extras angezeigt.

So fügen Sie einem systemeigenen Visual C++-Add-In eine benutzerdefinierte Bitmap als Symbol für die Add-In-Schaltfläche hinzu

  1. Grundsätzlich führen Sie dieselben Schritte aus wie oben, ändern jedoch folgende Elemente.

  2. Erstellen Sie in Visual C++ ein neues Win32-DLL-Projekt.

  3. Fügen Sie eine Ressourcendatei (.rc) hinzu.

  4. Fügen Sie in der Ressourcenansicht eine Bitmap (16 x 16) hinzu, und weisen Sie ihr eine numerische ID zu.

    Die Bitmap muss eine Auflösung von 16 x 16 Pixel und die Farbeinstellung 16 Farben oder True Color aufweisen.

  5. Aktualisieren Sie die AddNamedCommand2-Methode in Connect.cpp, nachdem Sie MSOButton auf VARIANT_FALSE und Bitmap auf die zuvor zugewiesene Bitmap-ID festgelegt haben.

  6. Erstellen Sie die DLL.

  7. Erstellen Sie im DLL-Verzeichnis des systemeigenen Add-Ins den Unterordner "1033" (für das englische Gebietsschema).

  8. Kopieren Sie die Satelliten-DLL in das Verzeichnis "1033".

  9. Öffnen Sie AddIn.rgs, und fügen Sie die beiden Registrierungsschlüsselwerte "SatelliteDllName" und "SatelliteDllPath" hinzu. Beispiel:

    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" brauchen Sie die Gebietsschema-ID im Pfad nicht hinzuzufügen. Sie wird zur Laufzeit automatisch angefügt.

  10. Erstellen Sie das Add-In erneut, um die aktualisierten Informationen zu registrieren.

Siehe auch

Aufgaben

Gewusst wie: Ändern des Standardsymbols für ein Add-In

Gewusst wie: Verfügbarmachen eines Add-Ins als Schaltfläche auf der Symbolleiste

Konzepte

Anzeigen von Add-Ins auf Symbolleisten und in Menüs