INTRODUCCIÓN
[/size]Como no lo he visto por ningún lado en el foro, voy a hacer un pequeño tute paso a paso de cómo dar la apariencia visual de Windows XP desde Visual Basic 6.
Lo primero y lógicamente hay que tener instalado Windows XP.
Imaginemos que ya tenemos nuestro Proyecto terminado y estamos a punto de compilar. Si ejecutamos el programa desde VB6 veremos cómo los botones, scrollbar, controles… tienen una apariencia muy clásica y muy distinta de la apariencia de Windows XP:
![](http://www.pic2up.net/TDRLU2.jpg)
Para conseguir la apariencia de Windows XP tenemos que seguir estos pasos:
1- Lo primero que hay que hacer es añadir al proyecto la función InitCommonControls() del API de Windows.
Esta función carga previamente en memoria la librería de controles comunes de Windows, Microsoft Windows Common Controls (comctl32.dll).
Yo he probado sin utilizar esta función y el programa me ha funcionado bien, pero hay gente que le da error, así que me quito posibles problemas añadiéndola.
¿Cómo la declaramos?. Poniendo en declaraciones:
Código:
Private Declare Sub InitCommonControls Lib "comctl32" ()
2-Llamar a esta funcion en el inicio del programa desde el evento Initialize del Formulario o desde Sub Main. Si lo pones en el form_load tampoco funcionará. Yo lo hago así:
Código:
Private Sub Form_Initialize()
InitCommonControls
End Sub
InitCommonControls
End Sub
![](http://www.pic2up.net/T3RLUe.jpg)
3- Ya podemos compilar nuestro proyecto y generar el ejecutable. Yo lo he llamado: Proyecto1.exe.
4- Ya sólo queda una cosa. Se trata de añadir a nuestra aplicación un recurso con nuestra apariencia XP. Voy a hacerlo muy sencillo y a utilizar un programa gratuito.
Si quieres saber algo más sobre recursos lee mi “tutorial para editar recursos” que es muy interesante:
http://foro.elhacker.net/index.php/topic,134513.0.html
Para hacer esto que he comentado voy a utilizar un programa que es gratuito:
XN Resource Editor. Lo podéis descargar de su página oficial:
http://www.wilsonc.demon.co.uk/d10resourceeditor.htm
Abrimos el XN Resource Editor vamos a File --> Open y seleccionamos nuestro Proyecto1.exe.
Ahora vamos a Resource --> Add resource (Añadir recurso) y seleccionamos
XP Theme Manifest:
![](http://www.pic2up.net/TrRLUPc.jpg)
Pulsamos OK y nos tiene que haber aparecido una carpeta con nuestro nuevo XP Theme Manifest:
![](http://www.pic2up.net/T5RLUOC.jpg)
Ya lo hemos hecho todo, ahora sólo tenemos que guardarlo con el nombre que queramos. Lo ejecutamos y…
![](http://www.pic2up.net/TKRLUPT.jpg)
Ahora ya tenemos el archivo manifest incorporado a nuestra aplicación.
En este punto puede resultar muy curioso y útil poder trabajar en VB6 en modo diseño con estilo XP.
Puedes hacer exactamente todo lo que acabo de explicar: abres el VB6.exe con el XN Resource Editor y sigues los pasos..
Pienso que es la forma más sencilla..
Basado todo en lo mismo, también se puede hacer de esta forma:
Hay que copiar este código XML siguiente en un bloc de notas:
Código:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<assemblyIdentity
name="Woozle.PEResourceExplorer.XPManifest"
processorArchitecture="x86"
version="1.0.0.0"
type="win32"/>
<description>Windows Shell</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<assemblyIdentity
name="Woozle.PEResourceExplorer.XPManifest"
processorArchitecture="x86"
version="1.0.0.0"
type="win32"/>
<description>Windows Shell</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
Y hay que guardarlo con el nombre de la aplicación a la que se va a poner estilo XP + “.manifest”.
En este caso de VB6.exe será: VB6.exe.manifest
Solo queda poner este archivo en el mismo directorio que VB6.exe y arreglado..
CONCLUSIONES:
[/size]La verdad es que es bastante curioso todo esto. Me resultó extraño que en VB posteriores tampoco estuviera el estilo XP, así que preguntando me dijeron que el VB 2005 tenía ya este estilo. Lo probé y es cierto.
Todo esto explicado es para VB6, pero y para VB.NET ¿¿cómo se hace??
Lo he visto muy bien explicado en esta página así que os doy el enlace. Vale tanto para VB.NET como C#:
http://www.elguille.info/NET/dotnet/temasXP.htm
Espero os resulte útil toda esta información..
Un saludo de karmany.