Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Imagen en TButton (https://www.clubdelphi.com/foros/showthread.php?t=38016)

albion 29-11-2006 18:22:43

Imagen en TButton
 
Hola a todos,

tengo una aplicación con TBitBtn con iconos. Usé TBitBtn en lugar de TButton al no encontrar un modo de añadir una imagen a los TButton. Pero al asignar la apariencia XP en los equipos con windows XP, los componentes TBitBtn aparecen de la misma forma que en Windows 2000, etc. Supongo que esto es así porque TBitBtn a pasar de heredar de TButton se encarga del pintado el mismo.

¿Hay alguna manera de que o bien TBitBtn se pinte con apariencia windows XP en equipos con este sistema operativo o bien añadir una imagen a los TButton?.

Gracias

dec 29-11-2006 19:16:55

Hola,

No sé qué versión de Delphi utilizas, pero, si es la 7, prueba a añadir la unidad "XPMan" (XP Manifiest) en tu proyecto. Puedes hacerlo en propio archivo ".dpr" o en el formulario principal.

albion 30-11-2006 10:27:37

Hola dec, uso Delphi 5.

Creo un recurso con:

Código:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
    name="CiaoSoftware.Ciao.Shell.Contacts"
    processorArchitecture="x86"
    version="5.1.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 luego lo añado al proyecto.

Con esto consigo que los componentes tomen la apariencia de XP lo que ocurre es que concretamente el TBitBtn no lo hace. Lo que necesito es que el TBitBtn lo haga (creo que no es posible sin modificarlo) o poder añadir una imagen al TButton (este sí toma la apariencia de XP).

Gracias.

dec 30-11-2006 14:42:53

Hola,

Leches... pues yo lo decía, precisamente, porque recuerdo, de algún programilla en que utilizé "TBitButton", que estos se adaptaban tan bien como el resto de componentes al tema que Windows XP tuviera en ese momento... a lo mejor es distinto en Delphi 5, puesto que yo usé siempre Delphi 7. Lamento no poder decirte nada más por el momento, al menos...

albion 30-11-2006 15:47:28

Intentaré probar con una versión de evaluación de Delphi 2006 a ver como se comporta. Aunque de momento no va a ser posible cambiar de versión de Delphi quizas pueda ver algo con lo que solucionar el problema. Gracias de todos modos.

albion 19-12-2006 10:18:59

Solución
 
He instalado http://www.delphi-gems.com/ThemeManager.php y parece que funciona correctamente. ¿Alguien los ha probado?. ¿Dan algún problema?

santiago14 21-08-2007 21:42:41

thememanager
 
Hola albion, bueno estuve usando los componentes thememanager y no había problemas hasta que me apareció un cartelito:

a call to OS function failed

Con eso tuve que descartar el componente, por lo menos hasta que alguien me diga que es lo que pasa. Uso delphi 6.

El error sucede cuando desde un form hago una llamada a otro form (showmodal). Por supuesto el componente thememanager está puesta en el form principal de mi aplicación.

Saludos.

albion 27-08-2007 15:07:06

Hola santiago14, yo los estoy usando sin ningún problema, uso Delphi 5. Si veo porque puede fallar lo pongo.

Saludos.

santiago14 27-08-2007 22:30:15

gracias albion
 
La verdad es que no se que sucede, en mis dos maquinas me pasa lo mismo, una con XP y la otra con 2003 server.
Repito que me aparece en algunos casos cuando intento abrir un formulario desde otro, ya sea el principal o no (showmodal)
Bueno, te agradecería cualquier dato acerca del problema.

Saludos


La franja horaria es GMT +2. Ahora son las 16:41:17.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi