Toni, Joan Ramón,
> Ya pero si se utiliza W7 no funciona correctamente ¿Teneis
> prevista alguna solución?. No creo que sea un
> comportamiento normal
Me temo que es "cosa" de los temas visuales. Este es un asunto que yo
estudié a fondo hace mucho tiempo, en los inicios de Xailer, y por lo
tanto creo que puedo aportar más luz sobre este tema.
El sistema de temas visuales (que existe a partir de Windows XP),
permite a los desarrolladores de los temas definir cómo se pinta cada
control. Y no sólo cómo se pinta, sino incluso los colores y las fuentes
que va a utilizar. Pero claro, si el desarrollador decide que no va a
utilizar un color o una fuente determinada, entonces se utilizan los que
tenga definidos el control, que serían los que se utilizarían si el
control no tuviese los temas activados. Pero si el desarrollador decide
utilizar una fuente o un color concretos, entonces nosotros no podemos
hacer absolutamente nada.
Y eso tiene todo el sentido del mundo. Imagínate, por ejemplo, un tema
con colores oscuros (que los hay, y muchos). En esas circunstancias, si
se pinta el texto de un botón de una toolbar en negro, no se vería. En
cambio, un radiobutton depende completamente del contenedor que tenga
debajo. De ahí que el desarrollador del tema debe elegir un color claro
para el texto de los botones de una toolbar mientras que el color de los
radiobutton los deja sin definir. Es por eso que cada control es
distinto, porque depende de la decisión del desarrollador del tema. Y
aunque tenga menos lógica, también ocurre con la fuente y con el tamaño
de la fuente, supongo que por coherencia con la apariencia general del
tema activo.
La única forma de obligar a usar una fuente y/o un color concreto es
quitando el tema visual del control. Yo no lo aconsejo, porque con
muchos temas va a desentonar, pero si lo necesitáis, la forma de hacerlo
es así:
SetWindowTheme( <control>:Handle, "", "" )
Esa llamada la podéis poner en el evento OnInitialize del formulario.
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info