Cómo: Mostrar un icono personalizado en un botón de complemento
Los complementos de Visual Studio están desusados en Visual Studio 2013. Debe actualizar los complementos a las extensiones de VSPackage. Para obtener más información sobre la actualización, vea Preguntas más frecuentes: Convertir complementos en extensiones de VSPackage.
Puede reemplazar el icono predeterminado (una cara sonriente) que se muestra junto al comando del complemento por un icono que no sea ninguno de los iconos estándar predefinidos, como se explica en Cómo: Cambiar el icono predeterminado de un complemento.
Para hacer esto:
Agregue el mapa de bits del icono como recurso del proyecto.
Establezca el parámetro MSOButton del método AddNamedCommand2 en false (lo que indica al método que busque el mapa de bits del icono).
Haga referencia al número de identificador de ese recurso en la parte de la barra de comandos del proyecto de complemento.
El procedimiento siguiente muestra cómo agregar un icono personalizado al botón de complemento.
Nota
Los cuadros de diálogo y comandos de menú que se ven pueden diferir de los descritos en la Ayuda, en función de los valores de configuración o de edición activos.Estos procedimientos se han desarrollado con la Configuración de desarrollo general activa.Para cambiar la configuración, elija la opción Importar y Exportarconfiguraciones en el menú Herramientas.Para obtener más información, vea Personalizar la configuración de desarrollo en Visual Studio.
Para agregar un mapa de bits personalizado como un icono de botón de complemento a un proyecto de complemento
Abra una solución de complemento existente o cree una nueva en Visual Studio.
Agregue un nuevo archivo de recursos al proyecto de complemento. Para hacerlo:
En el Explorador de soluciones, haga clic con el botón secundario del mouse en el proyecto de complemento.
Seleccione Nuevo elemento en el menú Agregar.
Seleccione Archivo de recursos en la lista Plantillas y haga clic en el botón Agregar. Deje su nombre predeterminado (Resources1.resx).
Esto inicia el Editor de recursos de Visual Studio.
Si el archivo de recursos no aparece en el Explorador de soluciones, haga clic en el botón Mostrar todos los archivos de la barra de herramientas.
Los complementos requieren un valor entero como argumento de mapa de bits. Cuando se establece esta propiedad es posible editar el archivo de recursos y nombrar su recurso de mapa de bits con un identificador numérico, algo que no puede hacerse cuando el archivo .resx es parte del proyecto de complemento.
En el Editor de recursos, haga clic en Agregar recurso y, en la lista desplegable, seleccione Nueva imagen y, a continuación, Imagen BMP. Por ahora, deje el nombre predeterminado (Image1.bmp).
Alternativamente, puede seleccionar una imagen de mapa de bits existente que es de 16 x 16 píxeles y 16 colores o Color verdadero. Los iconos personalizados para los complementos deben ser de 16 x 16 píxeles y 16 colores o Color verdadero.
En la ventana Propiedades del mapa de bits, cambie las propiedades Alto y Ancho a 16. Establezca la propiedad Colors en 16 colores o Color verdadero.
Si creó un nuevo mapa de bits, edite la imagen en el Editor de recursos.
Abra la clase Connect para el complemento. En el método OnConnection de la línea AddNamedCommand2, cambie el valor del parámetro MSOButton de true a false y el valor del parámetro Bitmap de 59 a 1. Por ejemplo:
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);
Al establecer el argumento MSOButton en falso se fuerza al complemento a buscar su mapa de bits del botón en un archivo de recursos. El número, 1, será el identificador para ese mapa de bits. (Se establece en un paso posterior.)
Cuando termine, seleccione Guardar todo en el menú Archivo, seleccione Compilar solución en el menú Compilar y, a continuación, descargue el proyecto. Para ello, en el Explorador de soluciones, haga clic con el botón secundario en el nodo de proyecto y, a continuación, haga clic en Descargar el proyecto.
En el Explorador de archivos, use el Bloc de notas para editar el archivo Resource1.resx.
Busque todas las instancias de "Image1" y cámbielas a "1". Cuando termine, guarde el archivo.
En la carpeta \Resources para el complemento, cambie el nombre del archivo de mapa de bits de Image1.bmp a 1.bmp.
Recargue el proyecto de complemento de nuevo (haciendo clic con el botón secundario en el nodo del proyecto en el Explorador de soluciones y haciendo clic después en Volver a cargar el proyecto) y ejecútelo.
Haga clic en el menú Herramientas.
El complemento aparece en el menú Herramientas junto con el icono personalizado.
Para agregar un mapa de bits personalizado como un icono de botón de complemento a un complemento nativo Visual C++
Siga los mismos procedimientos antes indicados, pero cambie los elementos siguientes.
Cree un nuevo proyecto de DLL Win32 de Visual C++.
Agregue un archivo de recursos (.rc).
En Vista de recursos, agregue un mapa de bits (16 x 16) y asígnele un identificador numérico.
El mapa de bits debe tener 16 x 16 píxeles y 16 Colores o Color verdadero.
Actualice el método AddNamedCommand2 en Connect.cpp con MSOButton establecido en VARIANT_FALSE y Bitmap establecido en el identificador del mapa de bits previamente asignado.
Compile el archivo DLL.
Cree una subcarpeta "1033" (para la configuración regional inglesa) en el directorio de archivo DLL de complemento nativo.
Copie el archivo DLL satélite en el directorio "1033".
Abra AddIn.rgs y agregue dos valores de clave de registro "SatelliteDllName" y "SatelliteDllPath". Por ejemplo:
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' } } } } } } }
En "SatelliteDllPath" no agregue el identificador de configuración local en la ruta de acceso. Se anexará automáticamente en tiempo de ejecución.
Recompile el complemento para registrar la información actualizada.
Vea también
Tareas
Cómo: Cambiar el icono predeterminado de un complemento
Cómo: Exponer un complemento como un botón en la barra de herramientas