Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

TButton en C++ Builder

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: TButton en C++ Builder Responder citando

Saludos.. y ante todo perdonen mi ignoracia y groseria..

Por que carajos los botones que trae el builder osea el Tbutton no se ven con el skin que tengo en windows XP y otros progrmas si los cojen, acaso el TButton es una definicion vieja o estandar del Button o algo asi..

Gracias
_________________

Trigger Wink
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Re: TButton en C++ Builder Responder citando

A mi tambien me pasaba lo mismo.

Por lo tanto he bajado la version gratuita de lmdtools, para que los botones se adapten a cualquier aplicacion.
_________________
"Cállate, o di algo mejor que el silencio"
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

Saludos Spencer (Paisano Colombiano)

Donde puedo conseguir el componente o la herrami8enta que me dices, ademas sirve para C++ Builder 6

Gracias
_________________

Trigger Wink
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Si lo que quieres es que los controles comunes tengan la apariencia del tema cargado en WindowsXP solo tienes que añadir el archivo de recursos del siguiente enlace en tu proyecto:

http://cppbuilder.hypermart.net/xp-rc.zip

Ya sabes, MENU: Project -> Add to Project...

Tienes información mas detallada de todo esto (en ingles) en la web de Mr. Bill Gates:

[Using Windows XP Visual Styles]
http://msdn.microsoft.com/library/en-us/dnwxp/html/xptheming.asp
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Gracias Responder citando

(Dedes estar aburrido que te alagen)
Una vez mas desbordas tu imenso conocimiento, gracias _leo si algunas vez te pasas por Colombia y quieres ir al famoso Carnaval de Barranquilla, avisame y nos tomamos unos Rones (Licor), traete a RPorcar y todo ese combo

Gracias
_________________

Trigger Wink
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

_leo Laughing perdona que te moleste pero me funciono perfecto la declaracion que me entregaste en el .rc, la verdad entre a la pagina y alli estaba el codigo del rc, pero algunos controles se distorcionan y salen diferentes como el TToolButton, sera que solo es para los TButton, me imagino que selecciono el texto que etsa alla y lo coloco en el rc y listo...

Gracias
[/quote]
_________________

Trigger Wink
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

El .RC ese es lo único que hay que añadir, luego los "fallos" que veas con algunos controles comunes es porque Borland no actualizo la librería para tener en cuenta los temas de WindowsXP.

Aun usando ese .RC y estando todo correcto, los controles que son dibujados por quien los crea, evidentemente seguirán dibujándose como antes ya que el XP ignora los controles OWNERDRAW como debe ser.

En el caso del TToolButton, que están dentro de las TToolBar para que se visualicen correctamente tienes que poner la propiedad "Flat" de las barras a 'true'. Y para que se dibuje correctamente el degradado de las barras tendrás que meter las TToolBar dentro de TCoolBar y poner la propiedad "Trasparent" de las TToolBar a 'true'. Y por ultimo, si te fijas al pulsar esos botones no sale correctamente, para corregirlo puedes añadir el siguiente código en el constructor de tu Form:
Código:
    // Ajuste de las barra de botones para windows xp
    for (int i=0; i<ComponentCount; i++)
    {
        TToolBar* tb = dynamic_cast<TToolBar*>(Components[i]);
        if (tb)
        {
            for (int j=0; j<tb->ButtonCount; j++)
                tb->Buttons[j]->ControlStyle >> csCaptureMouse;
        }
    }


Otro control de uso común con el que tendrás que usar un pequeño truco para que no deje estelas al dibujarse es TStatusBar. En su evento OnResize debes poner el siguiente código:
Código:
    TStatusBar* sb = static_cast<TStatusBar*>(Sender);
    if (sb->HandleAllocated())
        InvalidateRect(sb->Handle, 0, true);


Todo esto aplicado al BCB6, ya que con las anteriores tendrás más problemas si usas los temas de WindowsXP.

Solo recalcar que esto solo funciona con los controles que encapsulan algún control de Windows y que no este en modo OWNERDRAW (dibujado por el propietario). Con los controles propios de Borland u otros de terceros que sean dibujados habría que crear nuevas versiones que se dibujen correctamente usando para ello el nuevo API destinado a esto, sobre el cual se hace referencia en el enlace anterior y en este: Visual Styles
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

El componente lo puedes bajar de la direccion

www.ceberus.com/lmd/download/index.php3#LMD-Tools Special Edition
_________________
"Cállate, o di algo mejor que el silencio"
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.