Cor de Prompt Grid, mudar a cor da celula selecionada
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;
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
Curtidas 0
Respostas
Anonymous
18/02/2003
Utilize a variável State, que retorna o estado da célula: em foco, selecionada...
GOSTEI 0
Dor_poa
18/02/2003
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;
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;
GOSTEI 0