GARANTIR DESCONTO

Fórum Dbgrid #314454

27/02/2006

0

galera para o efeito zebrado eu uso assim:

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
If odd(Table1.RecNo) then
begin
DBGrid1.Canvas.Font.Color:= clWhite;
DBGrid1.Canvas.Brush.Color:= clGreen;
end
else
begin
DBGrid1.Canvas.Font.Color:= clBlack;
DBGrid1.Canvas.Brush.Color:= clWhite;
end;
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString);
end; 



só que como faço para deixar a linha selecionada em azul que seja?

thanks


Marcos Fernando

Marcos Fernando

Responder

Posts

27/02/2006

Bico

Boa tarde.

Não sei se entendi bem o que você queria fazer. Se for o que estou pensando a solução é essa:

procedure TForm1.CDSGridDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  if not(gdSelected in State) then
  begin
    if ((DataSource1.DataSet.RecNo mod 2) = 0) then
    begin
      with (Sender as TDBGrid) do
      begin
        Canvas.Brush.Color := clRed;
        Canvas.Font.Color := clBlack;
        DefaultDrawColumnCell(Rect, DataCol, Column, State);
      end;
    end;
  end;
end;


Atenciosamente,
Fernando;


Responder

Gostei + 0

27/02/2006

Marcos Fernando

Ótimo meu amigo,

deu certo na verdade só queria saber essa linha
if (gdSelected in State) then

thanks


Responder

Gostei + 0

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

Aceitar