Pessoal estou com um probleminha basico aqui, mas não estou conseguindo resolver,
Quando eu vou percorrendo um DbGrid com a seta do teclado ou pela barra de rolagem do DbGrid ai ele pinta todas as linhas da mesma cor com a linha que estou selecionada, o codigo abaixo é o que eu utilizo;
procedure TFPesPes001.DbgPesDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
If Not odd(DtsPes.DataSet.RecNo) Then
If Not (gdSelected in State) Then
begin
DbgPes.Canvas.Brush.Color:=clSkyBlue;
DbgPes.Canvas.FillRect(Rect);
DbgPes.DefaultDrawDataCell(rect,Column.Field,State);
end;
if (TAuxDBGrid(dbgpes).DataLink.ActiveRecord + 1 = TAuxDBGrid(dbgpes).Row) or (gdSelected in State) then
begin
dbgpes.Canvas.Brush.Color := clMoneyGreen;
dbgpes.Canvas.Font.Style := dbgpes.Canvas.Font.Style + [fsBold];
dbgpes.Canvas.Font.Style := dbgpes.Canvas.Font.Style + [fsUnderline];
dbgpes.Canvas.Font.Color := clBlack;
end;
dbgpes.Canvas.FillRect(Rect);
dbgpes.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString);
dbgpes.DefaultDrawDataCell(Rect, Column.Field, State);
end;
Pergunta
robinhocne
Pessoal estou com um probleminha basico aqui, mas não estou conseguindo resolver,
Quando eu vou percorrendo um DbGrid com a seta do teclado ou pela barra de rolagem do DbGrid ai ele pinta todas as linhas da mesma cor com a linha que estou selecionada, o codigo abaixo é o que eu utilizo;
uma ajuda ?
Editado por robinhocneLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.