Problema ao sobreescrever dbgrid
Eu uso em alguns dbgrids do meu sistema umas funções no DrawCloumnCell, para por exemplo mudar cor de fauras em atraso, quando eu cli sobre ele e como se o texto original aparecesse subescrito na linha selecionada, como eu evito isso?
vlw!!
vlw!!
Marcos Faneli
Curtidas 0
Respostas
Pietro Braga
23/11/2010
Hahaah, passei por isso já, se não tiver resolvido até a noite quando chegar em casa eu pego o meu fonte e posto aí pra ti.
Abs
GOSTEI 0
Wilson Junior
23/11/2010
Utilize o código abaixo:
Espero ter colaborado.
procedure EventoOnDrawColumnCell; begin DBGrid.Canvas.FillRect( Rect ); DBGrid.Canvas.Font.Color := clBlack; DBGrid.Canvas.Brush.Color := clWhite; DBGrid.DefaultDrawColumnCell( Rect, DataCol, Column, State ); end;
Espero ter colaborado.
GOSTEI 0
Pietro Braga
23/11/2010
procedure TF_Stock.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);with F_Dados.Q_Grid do Begin if (FieldByName('QTDE').Value <= FieldByName('QTDE_MIN').Value) then DbGrid1.Canvas.Font.Color:= clRed; DBGrid1.Canvas.FillRect(Rect); DBGrid1.Canvas.TextOut(Rect.Left+3,Rect.Top+2,Column.Field.AsString); End; end;
Adapte isso a sua necessidade, a parte em vermelho é o código que colore o texto na DBGrid caso a minha condição seja verdadeira. Se ainda assim o texto paracer deslocado, ajuste os valores para left e top.
Abs
Adapte isso a sua necessidade, a parte em vermelho é o código que colore o texto na DBGrid caso a minha condição seja verdadeira. Se ainda assim o texto paracer deslocado, ajuste os valores para left e top.
Abs
GOSTEI 0