Colorir o DbGrid quando parcela estiver em atraso.

Delphi

14/07/2005

Pessoal,

estou colocando no evento OnDrawColumnCell o seguinte codigo.


if Status = ´Atrasado´ then
  Canvas.Font.Color := clRed
else 
  Canvas.Font.Color := clBlue
DefaultDrawDataCell(Rect, Column.Field, State);


Ele está colorindo a linha perfeitamente. O problema é que nesse momento eu ele perde todas as caracteristicas da fonte que está configurada no DbGrid. Cor, tamanho, alinhamento.
Tem como eu colorir o Grid sem perder essas configurações?

Obrigado.


Yallebr

Yallebr

Curtidas 0

Respostas

Araujojunior

Araujojunior

14/07/2005

Eu faço assim :wink:

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const
Rect: TRect;
DataCol: Integer;
Column: TColumn;
State: TGridDrawState);
begin
if (Column.Field.FieldName = ´NOMEDOCAMPO´) then
begin
if condição then // coloque aqui sua condição
begin
DBGrid1.Canvas.Brush.Color:= clAqua;
DBGrid1.Canvas.Font.Color:= clWindowText;
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end;
end;


GOSTEI 0
Bruno Belchior

Bruno Belchior

14/07/2005

é mais exatamente nessa linha [b:2aea2490ba]DBGrid1.Canvas.FillRect(Rect)[/b:2aea2490ba] a grid perde toda a formatação original do Sistema Operacional...


GOSTEI 0
Bruno Belchior

Bruno Belchior

14/07/2005

sobe...


GOSTEI 0
POSTAR