Ver Mensaje Individual
  #1  
Antiguo 15-11-2008
Avatar de Adrian Murua
Adrian Murua Adrian Murua is offline
Miembro
 
Registrado: oct 2003
Ubicación: Tucuman - Argentina
Posts: 45
Reputación: 0
Adrian Murua Va por buen camino
Smile Cambiar color de letras de acuerdo al color de fondo

Esimados amigos:

Tengo un componente DBGRID al que le cambio el color de fondo de una fila de acuerdo a un campo de la tabla en la que realizo la consulta, esto lo hago mediante el evento DrawColumnCell del componente.

Código:
procedure TFrmMgnBancos.GrillaDrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
   If (Datos.MgnBancos.FieldByName('Activo').AsInteger = 1 )
    then Grilla.canvas.brush.color := clMaroon;

    Grilla.DefaultDrawColumnCell(rect,DataCol,Column,State)
end;
La duda es la siguiente, yo deseo permitir que el usuario pueda cambiar el color de fondo de la fila (mediante una personalizacion del componente ), pero me encuentro con el problema de que si el usuario elige, como en el codigo anterior, un color de fondo oscuro, en la grilla se veria ese color oscuro de fondo y las letras negras , por lo que no se podra leer bien las letras , habria alguna forma de automatizar el color de de las letras de acuerdo al color de fondo elegido, teniendo en cuenta que no estaria en los planes permitir que el usuario eliga el color de las letras?.

Desde ya Muchas Gracias.
__________________
Adrián Murúa.
Responder Con Cita