| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Trigger Lt


Registrado: 12 Ago 2002Mensajes: 88Ubicación: Barranquilla (Colombia)
|
Publicado: Vie 21 Nov, 2003 4:22 pm Asunto: TButton en C++ Builder |
|
|
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  |
|
| Volver arriba |
|
 |
-Spencer- Capt

Registrado: 03 Mar 2003Mensajes: 160Ubicación: Armenia - Colombia
|
Publicado: Vie 21 Nov, 2003 7:00 pm Asunto: Re: TButton en C++ Builder |
|
|
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 |
|
 |
Trigger Lt


Registrado: 12 Ago 2002Mensajes: 88Ubicación: Barranquilla (Colombia)
|
Publicado: Dom 23 Nov, 2003 4:41 pm Asunto: |
|
|
Saludos Spencer (Paisano Colombiano)
Donde puedo conseguir el componente o la herrami8enta que me dices, ademas sirve para C++ Builder 6
Gracias _________________
Trigger  |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
|
| Volver arriba |
|
 |
Trigger Lt


Registrado: 12 Ago 2002Mensajes: 88Ubicación: Barranquilla (Colombia)
|
Publicado: Dom 23 Nov, 2003 11:25 pm Asunto: Gracias |
|
|
(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  |
|
| Volver arriba |
|
 |
Trigger Lt


Registrado: 12 Ago 2002Mensajes: 88Ubicación: Barranquilla (Colombia)
|
Publicado: Lun 24 Nov, 2003 2:47 pm Asunto: |
|
|
_leo 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  |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Lun 24 Nov, 2003 3:29 pm Asunto: |
|
|
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 |
|
 |
-Spencer- Capt

Registrado: 03 Mar 2003Mensajes: 160Ubicación: Armenia - Colombia
|
|
| Volver arriba |
|
 |
|