Cor de Prompt Grid, mudar a cor da celula selecionada

18/02/2003

0

Amigo Utilizo essa procedimento para mudar a cor do grid, so que eu queria tabem mudar a cor do prompt ou seja da linha seleciona quando estivar navegando pelo grid ou mudar a cor da fonte quando a linha receber focus...



procedure TfrmCONUSUARIOS.grdCONUSUARIOSDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
holdColor: TColor;
begin
holdColor := grdCONUSUARIOS.Canvas.Brush.Color;

if DM.qryCADUSUARIOS.RecNo mod 2 <> 0 then
begin
grdCONUSUARIOS.Canvas.Brush.Color := $00FFF8F0; {COR E VAI MUDAR}
grdCONUSUARIOS.Canvas.Font.Color := clBlack; {COR QUE VAI MUDAR}
grdCONUSUARIOS.DefaultDrawColumnCell(Rect,Datacol,Column,State);
grdCONUSUARIOS.Canvas.Brush.Color := holdColor; {COR PADRAO}
grdCONUSUARIOS.Canvas.Brush.Color := clLime; {COR QUE VAI MUDAR}
end;

if DM.qryCADUSUARIOS.RecNo mod 2 = 0 then
begin
grdCONUSUARIOS.Canvas.Brush.Color := clWindow; {COR QUE VAI MUDAR}
grdCONUSUARIOS.Canvas.Font.Color := clBlack;
grdCONUSUARIOS.DefaultDrawColumnCell(Rect,Datacol,Column,State);
grdCONUSUARIOS.Canvas.Brush.Color := holdColor; {COR PADRAO}
grdCONUSUARIOS.Canvas.Brush.Color := clLime; {COR QUE VAI MUDAR}
end;

end;


Anonymous

Anonymous

Responder

Posts

18/02/2003

Anonymous

Utilize a variável State, que retorna o estado da célula: em foco, selecionada...


Responder

18/02/2003

Dor_poa

Coloque a propriedade defaultdrawdata do dbgrid em FALSE

No evento onDrawColumnCell do seu grid coloque o seguinte:

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
const
Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
If table1PRAZO.Value > DATE then // condição
Dbgrid1.Canvas.Font.Color:= clFuchsia; // coloque aqui a cor desejada
Dbgrid1.DefaultDrawDataCell(Rect, dbgrid1.columns[datacol].field, State);
end;


Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar