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.