Cómo añadir compatibilidad de estilos visuales Windows XP a las aplicaciones

Ya comenté hace algún tiempo, que incluso hoy en día, encontramos aplicaciones que todavía no soportan los estilos visuales disponibles en Windows XP y Windows 2003.

No obstante, la mayoría de ellas, se visualizará sin problemas añadiendo dicho soporte.

Si queremos añadir esta característica, solamente necesitamos guardar en el directorio donde esté el ejecutable de la aplicación un archivo de manifest con el mismo nombre del ejecutable. En este artículo explicaré como hacerlo para el HomeSite 5.5+ de Macromedia, pero es válido para cualquier aplicación que queramos.

Lo primero que hay que hacer es averiguar como se llama el ejecutable, en este caso su nombre es HomeSite+.exe.

Ahora deberemos crear un archivo manifest llamado HomeSite+.exe.manifest y guardarlo en el mismo directorio del ejecutable. Si la aplicación se llamase Aplicación.exe el nombre que habría que darle al manifest sería Aplicación.exe.manifest.

Los contenidos básicos del manifest son:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*" />
</dependentAssembly>
</dependency>
</assembly>

Puedes ahorrarte el crear dicho archivo descargando este manifest prefabricado (1 Kb en formato ZIP). Una vez extraído habrá que renombrarlo por el nombre pertinente de acorde a lo que digo arriba.

Si ahora lanzamos la aplicación, veremos como los estilos están aplicados correctamente, y el programa tiene una apariencia más XP.

Si eres un desarrollador, puedes estas mismas directrices para añadir dicha característica en tus aplicaciones, de esta forma tendrán una apariencia mucho más profesional e integrada con el sistema operativo. Pero en este caso, se supone que tienes acceso al código fuente, y no querrás distribuir separadamente el manifest si no es necesario. Muy bien, necesitarás que tu herramienta de desarrollo sea capaz de compilar y enlazar archivos de recursos (RC). Crearemos un nuevo archivo recursos, y lo agregaremos a nuestro proyecto. O si ya tenemos algún archivo de recursos, le añadiremos la entrada de manifest.

El archivo de recursos deberá como mínimo contener una entrada tal que así:
1 24 "WindowsXP.manifest"

donde WindowsXP.manifest es el manifest que añadiremos a la aplicación. Ahora compilaremos el proyecto, y si todo ha ido bien, nuestro ejecutable tendrá incrustado el manifest correspondiente como recurso dentro del EXE, de forma que no tendremos que distribuirlo separadamente.

En el caso de no disponer de los fuentes, también puedes con algún editor de recursos, editar los recursos del ejecutable para añadirle el manifest, aunque esto solo está legalmente permitido si tu eres el autor o tienes los derechos de modificación de ese programa o es para uso privado.

Es importante dejar claro, que en aquellos entornos donde no se soporten estilos visuales, la aplicación funcionará igualmente, pero sin tenerlos en cuenta, y por tanto, seguirán manteniendo la apariencia clásica de Windows.

HomeSite 5.5+ como viene de serie.


HomeSite 5.5+ con el manifest añadido, y apariencia XP.


3 comentarios en “Cómo añadir compatibilidad de estilos visuales Windows XP a las aplicaciones”

  1. Appleboy es posible que utilices algún ActiveX de terceros que no se lleva demasiado bien con los Windows Common Controls 6 (los de los estilos visuales XP/2003). El único problema que yo he visto con los manifest es con las VCL antiguas de Borland, que los tabs daban un error de protección. Me alegro que en cualquier caso te haya sido útil.

    Albert, ¡cuanto tiempo sin saber de ti! Me alegra que me sigas leyendo, y mucho más que me escribas. El problema que cuentas es típico de componentes que utilizan la API para dibujar su apariencia en vez de utilizar el componente del sistema. Esos no tienen solución. Si te fijas en el pantallazo del HomeSite, verás que ocurre algo parecido con los componentes de pestaña. Algunos son de sistema y si que tienen los estilos aplicados, pero otros no.

  2. Eps guti!!
    Dile a corrupto que deje los microondas enpaz…
    Por cierto por aqui tenemos problemas con el manifest, hace que los scrollbars no estandards no se conviertan correctamente.
    Seguiremos probando.
    Saludos.

  3. Yo he creado el manifest para "modernizar" un programa en VB6, y me da un bonito (esperen que miro) "Memoria insuficiente"

    Y el programa no es gran cosa, oiga, que son cuatro botones accediendo a una mdb.

    De todas maneras lo he probado en otras cosas y buena solución, sí señor.

Deja un comentario