Ver Mensaje Individual
  #5  
Antiguo 28-11-2008
jorge82 jorge82 is offline
Baneado
 
Registrado: jun 2005
Ubicación: Mérida, Yucatán, México
Posts: 75
Reputación: 19
jorge82 Va por buen camino
El comportamiento de algunos componentes cuando esta habilitado el tema de Windows (con un XPManifest), al parecer es debido a que al momento de crearse (en el constructor), se asigna como color de fondo, el color de su Parent, o sea si tenemos un TPanel sobre un formulario y la asignamos un color al Panel, en tiempo de ejecución ese color desaparace y en su lugar cambia el color al color del fondo de su Parent, en este caso el formulario.

Este comportamiento lo he podido evitar agregando lo siguiente en el OnCreate del formulario:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  Panel1.ControlStyle := Panel1.ControlStyle - [csParentBackground];
end;

Y bueno, esto no solo sirve para los paneles, hay mas componentes que se crean de esa manera (desconozco porque) cuando hay un XPManifest.

Espero sea de utilidad.
__________________
Un saludito.
Responder Con Cita