DBGrid zebrado
Olá amigos,
coloque a seguinte função do no DBGrid:
procedure TFrmMostraCliente.RxDBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer;
Column: TColumn; State: TGridDrawState);
begin
If odd(DataModule1.ADOQryClientes.RecNo) then begin
RxDBGrid1.Canvas.Font.Color := clBlack;
RxDBGrid1.Canvas.Brush.Color := clAqua;
end
else begin
RxDBGrid1.Canvas.Font.Color := clBlack;
RxDBGrid1.Canvas.Brush.Color := clWhite;
end;
RxDBGrid1.Canvas.FillRect(Rect);
RxDBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString);
end;
Ficou zebrado, mas na hora de usar as setas para movimentar o grid, no campo atual não fica como no modo original, fonte branca, e fundo azul.
Como faço para a rotina funcionar no modo original, com o grid zebrado.
Atenciosamente,
Silvio Guedes.
coloque a seguinte função do no DBGrid:
procedure TFrmMostraCliente.RxDBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer;
Column: TColumn; State: TGridDrawState);
begin
If odd(DataModule1.ADOQryClientes.RecNo) then begin
RxDBGrid1.Canvas.Font.Color := clBlack;
RxDBGrid1.Canvas.Brush.Color := clAqua;
end
else begin
RxDBGrid1.Canvas.Font.Color := clBlack;
RxDBGrid1.Canvas.Brush.Color := clWhite;
end;
RxDBGrid1.Canvas.FillRect(Rect);
RxDBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString);
end;
Ficou zebrado, mas na hora de usar as setas para movimentar o grid, no campo atual não fica como no modo original, fonte branca, e fundo azul.
Como faço para a rotina funcionar no modo original, com o grid zebrado.
Atenciosamente,
Silvio Guedes.
Silviogs
Curtidas 0
Respostas
Spider
23/03/2004
if not (gdselected in state) then
begin
If odd(DataModule1.ADOQryClientes.RecNo) then
begin
RxDBGrid1.Canvas.Font.Color := clBlack;
RxDBGrid1.Canvas.Brush.Color := clAqua;
end
else
begin
RxDBGrid1.Canvas.Font.Color := clBlack;
RxDBGrid1.Canvas.Brush.Color := clWhite;
end;
else
begin
RxDBGrid1.Canvas.Font.Color := clWhite;
RxDBGrid1.Canvas.Brush.Color := clBlack;
end;
RxDBGrid1.Canvas.FillRect(Rect);
RxDBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString);
begin
If odd(DataModule1.ADOQryClientes.RecNo) then
begin
RxDBGrid1.Canvas.Font.Color := clBlack;
RxDBGrid1.Canvas.Brush.Color := clAqua;
end
else
begin
RxDBGrid1.Canvas.Font.Color := clBlack;
RxDBGrid1.Canvas.Brush.Color := clWhite;
end;
else
begin
RxDBGrid1.Canvas.Font.Color := clWhite;
RxDBGrid1.Canvas.Brush.Color := clBlack;
end;
RxDBGrid1.Canvas.FillRect(Rect);
RxDBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString);
GOSTEI 0
Silviogs
23/03/2004
funcionou perfeito.
Valeu!!!!!
Muito Obrigado.
Silvio Guedes.
Valeu!!!!!
Muito Obrigado.
Silvio Guedes.
GOSTEI 0