Comment : afficher une icône personnalisée dans le bouton du complément
Vous pouvez remplacer l'icône par défaut (une émoticône) qui s'affiche en regard de la commande relative à votre complément par une icône qui ne fait pas partie des icônes standard prédéfinies, comme le décrit la section Comment : modifier l'icône par défaut d'un complément.
Pour cela :
Ajoutez la bitmap d'icône en tant que ressource dans votre projet.
Définissez le paramètre MSOButton dans la méthode AddNamedCommand2 à false (ce qui indique à la méthode de rechercher la bitmap d'icône).
Référencez le numéro d'ID de cette ressource dans la partie de la barre de commandes de votre projet Complément.
La procédure suivante montre comment ajouter une icône personnalisée au bouton du complément.
Notes
Les boîtes de dialogue et les commandes de menu qui s'affichent peuvent être différentes de celles qui sont décrites dans l'aide, en fonction de vos paramètres actifs ou de l'édition utilisée. Ces procédures ont été développées avec les paramètres de développement généraux actifs. Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils. Pour plus d'informations, consultez Utilisation des paramètres.
Pour ajouter à un projet Complément une bitmap personnalisée en tant qu'icône du bouton de complément
Ouvrez une solution de complément existante ou créez-en une dans Visual Studio.
Ajoutez un nouveau fichier de ressources à votre projet Complément. Pour cela :
Cliquez avec le bouton droit sur le projet Complément dans l'Explorateur de solutions.
Sélectionnez Nouvel élément dans le menu Ajouter.
Sélectionnez Fichier de ressources dans la liste Modèles et cliquez sur le bouton Ajouter. Conservez le nom par défaut (Resources1.resx).
L'Éditeur de ressources Visual Studio démarre.
Si le fichier de ressources n'apparaît pas dans l'Explorateur de solutions, cliquez sur le bouton Afficher tous les fichiers dans la barre d'outils.
Les compléments requièrent une valeur entière pour l'argument de bitmap. La définition de cette propriété vous permet de modifier le fichier de ressources et de nommer sa ressource bitmap avec un identificateur numérique, ce que vous ne pouvez pas faire lorsque le fichier .resx fait partie du projet Complément.
Dans l'Éditeur de ressources, cliquez sur Ajouter une ressource et sélectionnez Nouvelle image dans la liste déroulante, puis Image BMP. Pour le moment, conservez le nom par défaut (Image1.bmp).
Vous pouvez également sélectionner une image bitmap existante en 16 x 16 pixels et 16 couleurs ou Couleurs vraies. Les icônes personnalisées pour les compléments doivent être au format 16 x 16 pixels et 16 couleurs ou Couleurs vraies.
Dans la fenêtre des propriétés bitmap, modifiez les propriétés Hauteur et Largeur en leur affectant la valeur 16. Affectez à la propriété Couleurs la valeur 16 couleurs ou Couleurs vraies.
Si vous avez créé une nouvelle bitmap, modifiez l'image dans l'Éditeur de ressources.
Ouvrez la class Connect pour le complément. Dans la méthode OnConnection de la ligne AddNamedCommand2, changez la valeur du paramètre MSOButton de true à false, et la valeur du paramètre Bitmap de 59 à 1. Par exemple :
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);
Attribuer la valeur false à l'argument MSOButton force le complément à rechercher un fichier de ressources pour la bitmap de son bouton. Le numéro, 1 en l'occurrence, sera l'identificateur de cette bitmap. (Il est défini à une étape ultérieure.)
Lorsque vous avez terminé, sélectionnez Enregistrer tout dans le menu Fichier, puis Générer la solution dans le menu Générer, puis déchargez le projet. Pour ce faire, cliquez avec le bouton droit sur le nœud du projet dans l'Explorateur de solutions, puis cliquez sur Décharger le projet.
Dans l'Explorateur Windows, utilisez le Bloc-notes pour modifier le fichier Resource1.resx.
Recherchez toutes les instances de "Image1" et remplacez-les par "1". Lorsque vous avez terminé, enregistrez le fichier.
Dans le dossier \Resources du complément, remplacez le nom du fichier bitmap Image1.bmp par 1.bmp.
Rechargez le projet de complément (en cliquant avec le bouton droit sur le nœud du projet dans l'Explorateur de solutions, puis sur Recharger le projet) et exécutez -le.
Cliquez sur le menu Outils.
Le complément apparaît dans le menu Outils avec votre icône personnalisée.
Pour ajouter à un complément Visual C++ natif une bitmap personnalisée en tant qu'icône du bouton du complément
Suivez les mêmes procédures que celles décrites ci-dessus, mais en modifiant les éléments suivants.
Créez un projet DLL Win32 Visual C++.
Ajoutez un fichier de ressources (.rc).
Dans l'Affichage des ressources, ajoutez une bitmap (16 x 16) et attribuez-lui un ID numérique.
La bitmap doit être au format 16 x 16 pixels et 16 couleurs ou Couleurs vraies.
Mettez à jour la méthode AddNamedCommand2 dans Connect.cpp avec la valeur VARIANT_FALSE pour MSOButton et l'ID de bitmap que vous avez assigné précédemment pour Bitmap.
Générez la DLL.
Créez un sous-dossier "1033" (pour les paramètres régionaux anglais) dans le répertoire DLL du complément natif.
Copiez la DLL satellite dans le répertoire "1033".
Ouvrez AddIn.rgs et ajoutez deux valeurs de clés de Registre "SatelliteDllName" et "SatelliteDllPath". Par exemple :
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' } } } } } } }
Dans "SatelliteDllPath", n'ajoutez pas l'ID de paramètres régionaux du chemin d'accès. Il sera ajouté automatiquement au moment de l'exécution.
Régénérez le complément pour enregistrer les informations mises à jour.
Voir aussi
Tâches
Comment : modifier l'icône par défaut d'un complément
Comment : exposer un complément en tant que bouton dans la barre d'outils
Concepts
Affichage des compléments dans les barres d'outils et les menus