Y Porque no lo haces con un
manifest. La estructura de este archivo es como sigue.
Código:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
name="VB6.exe"
processorArchitecture="x86"
version="6.0.0.8176"
type="win32"
/>
<description>Visual Basic - Microsoft Corporation</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
Lo que esta resaltado en
negrita es modificable.
Copias el codigo en el Bloc de Notas y lo guardas como
VB6.exe.manifest, en la carpeta de Visual Basic, que generalmente es:
C:\Archivos de programa\Microsoft Visual Studio\VB98
Ya lo probe y si funciona, tene en cuenta que cuando generes el exe de tu proyecto tambien debes incluir un manifest con el nombre de tu proyecto
miproyecto.exe.manifest para que este conserve los temas de WinXP (la estructura del
manifest es siempre la misma, no cambia nada).
Ojo: Para que el manifest funcione perfectamente con tu aplicacion, debes hacer la siguiente declaracion de la API:
Código:
Private Declare Sub InitCommonControls Lib "comctl32.dll" ()
Y llamarla desde el evento Initialize del Form Principal
Código:
Private Sub Form_Initialize()
InitCommonControls
End Sub
Para mas información de los manifest lee estos articulos
Como usar los temas de XP en Visual Basic. Cómo usar los temas de Windows XP en Visual Basic clásico, para que todos los controles se vean correctamente. Cómo automatizar las aplicaciones de Visual Basic para que el uso de los temas de Windows XP no sea un problema.
Saludos