Ver Mensaje Individual
  #8  
Antiguo 03-04-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Reputación: 17
rgstuamigo Va por buen camino
Para poner los controles stilo XP en delphi 7 solamente te pones en tu formulario principal el componente TXPManifest de la pestaña Win32.
No lo se si ya en delphi 6 existia ese componente pero segun Marco Canto unos de genios y experto en delphi,en su Libro "La BiBlia de Delphi 7" nos cuenta que existe tres formas de hacer que los controles tomen la apariencia XP a continuacion pego parte de lo que el propone:
Empesado por Marco Cantu>
Cita:
Temas de Windows XP
Con la aparicion de Windows XP, Microsoft ha creado una nueva version,
independiente, de la biblioteca de controles habituales. La antigua biblioteca sigue estando disponible por cuestiones de compatibilidad, de manera que un programa que se ejecute sobre XP puede escoger cual de las dos bibliotecas usar. La principal diferencia de la nueva biblioteca es que no tiene un motor de representacion fijo, sino que confia en el motor de temas de XP y delega la interfaz de usuario de los controles sobre el tema actual.

En Delphi 7, la VCL soporta completamente temas, debido a una gran cantidad de codigo interno y a la biblioteca de administracion de temas desarrollada originalmente por Mike Lischke. Algunas de estas nuevas caracteristicas de represcntacion son utilizadas por los controles visuales de la arquitectura Action Manager. independientemente del sistema operativo sobre el que funcione. Sin embargo, el soporte total de temas solo esta disponible para un sistema operativo que disponga de esta caracteristicas (por el momento, Windows XP).
Incluso en XP, las aplicaciones de Delphi usan de manera predefinida el enfoque tradicional. Para soportar temas XP, se debe incluir un archivo de manifiesto en el programa. Se puede hacer de muchas maneras:

*Colocar un archivo de manifiesto en la misma carpeta que la aplicacion. Se
trata de un archivo XML que indica la identidad y las dependencias del
programa. El archivo tiene el mismo nombre que el programa ejecutable
con una estension adicional .manifest al final (como MiPrograma.
exe .manifest). El listado 6.2 muestra un ejemplo de este tipo de
archivo.

*Añadir la misma informacion en un archivo de recurso compilado dentro
de la aplicacion. Se debe escribir un archivo de recurso que incluya un
archivo de manifiesto. En Delphi 7, la VCL tiene un archivo de recurso
compilado WindowsXP . res, que se consigue al recompilar el archivo
WindowsXP . rc disponible entre los archivos fuente de la VCL. El
archivo de recurso incluye el archivo sample.manifest, que esta disponible
en el mismo sitio.


*Usar el componente XpManifest, que Borland ha añadido en Delphi 7
para simplificar aun mas estas tareas. Al dejar este componente aparentemente inutil sobre el formulario de un programa, Delphi incluira
automaticamente su unidad XPMan, que importa el archivo de recurso
VCL comentado anteriormente.
ADVERTENCIA: Cuando se elimina el componente XpManifest de
una aplicacion, tambien se debe borrar la unidad XPMan de la sentencia
uses manualmente (Delphi no lo hace). Si no se hace esto. incluso sin el
componente XpManifest, el programa seguira enlazando el archivo de recursos manifiesto.Lo que realmente importa es usar la unidad(que hace preguntarse por que Borlana creo el componenre en lugar de proporcionar
la unidad o el archivo de recurso relacionado). Ademas, este componente
no esta en absoluto documentado.
Listado 6.2. Un archivo de manifiesto de muestra (Pages.exe.manifest).
Cita:
<?xml version="1.0" encoding="UTP-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft_com:asm.v1"
manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="Pages.exe"
type="win32"
/ >
<description>Demo de la biblia de Delphi</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language=""
/>
</dependentAssernbly>
</dependency>
</assembly>
Como muestra, en la carpeta del ejemplo Pages comentado anteriormente se incluye el archivo de manifiesto del listado 6.2. Al ejecutarlo sobre Windows XP con el tema estandar de XP, se conseguira un resultado similar al mostrado en la figura 6.8. Se puede comparar con las figuras 6.1 y 6.2 que muestran el mismo programa con el tema clasico de Windows XP.
Todo esto esta en la pag 305 (291 en el pdf) hacia adelante del libro "La Biblia de Delphi 7"
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 03-04-2009 a las 21:30:06.
Responder Con Cita