Colorir toda uma linha ativa num dbgrid

Delphi

24/03/2007

Calera como faço para colorir toda uma linha ativa num componente
dbgrid.


Cabal

Cabal

Curtidas 0

Respostas

Paullsoftware

Paullsoftware

24/03/2007

Seria algo como isso??
procedure TfRetorno.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
    if ( DM_BANCO.LOCACAO.FieldByName(´DATARETORNO´).Value < SelData.Date ) then
     begin
     DBGrid1.Canvas.Font.Color := clRed;
     DBGrid1.Canvas.Font.Style := [];
     DBGrid1.Canvas.FillRect(Rect);
     DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
     end;
    if ( gdSelected in State ) then
     begin
      if ( DM_BANCO.LOCACAO.FieldByName(´DATARETORNO´).Value < SelData.Date ) then
       begin
         DBGrid1.Canvas.Font.Color := clYellow;
         DBGrid1.Canvas.Font.Style := [fsBold];
         DBGrid1.Canvas.FillRect(Rect);
         DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
       end
      else
       begin
         DBGrid1.Canvas.Font.Color := clWhite;
         DBGrid1.Canvas.Font.Style := [fsBold];
         DBGrid1.Canvas.FillRect(Rect);
         DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
       end
     end;
end;

espero ter ajudado :wink:


GOSTEI 0
Cabal

Cabal

24/03/2007

Pô valeu pela ajuda, mas o que eu quero é colorir a linha corrente da grid.
aquele caracter especial (triângulo) que fica a esquerda na grid, eu queria acompanhar as movimentações dele, com a cor na linha corrente toda preeenchida. igual ao efeito alwaysShowSelection do proprio grid, só que quando uso isso, a coluna sempre q me movimento(aplicando filtros ou seleções) pela grid, o cursor retorna a célula (0,0).


GOSTEI 0
POSTAR