Ver Mensaje Individual
  #1  
Antiguo 02-02-2018
strelok strelok is offline
Miembro
 
Registrado: sep 2017
Posts: 181
Reputación: 7
strelok Va por buen camino
Cool Pintar todos los componentes del sistema dinámicamente

Hola, tengo un gran problema:

Componente: TAdvComboBox

¿Qué quiero hacer?: Pintar todos los componentes del sistema dinámicamente

¿Cómo hago esto?: En el OnCreate() de todos los formularios invoco a una función, la cual recorre todos los componentes y según su tipo usa un color u otro.

¿Cuál es el problema?: Pues, inicialmente se pinta perfecto (tanto el color principal, borde, color de foco, texto de foco, etc), sin embargo, cuando pierde el foco toma el valor del DFM, es decir, si en el DFM el color es verde, y en tiempo de ejecución lo pinto rojo, cuando se ve por primera vez es rojo, cuando saco el foco, se ve verde, NO TIENE LÓGICA
Miré internamente el código de ese componente y parece ser que si lo guarda, ¿qué parche me recomiendan aplicar?

A - cambiar manualmente todos los dfm no lo veo viable, y tampoco es una solución genérica

B- hacer una función y asignarla en tiempo de ejecución al método OnExit() que vuelva a repintar, podría ser..., pero, ¿quien me asegura que alguno de esos componentes en una parte X de la aplicación ya no tenga asignado OnExit()?, por lo tanto este último parche podría ser un arma de doble filo, y ya no se me ocurre nada mas.

Necesito consejos de expertos

Última edición por strelok fecha: 02-02-2018 a las 18:24:17.
Responder Con Cita