Einzelnen Beitrag anzeigen

Benutzerbild von MarcoWarm
MarcoWarm

Registriert seit: 10. Sep 2003
Ort: Großhennersdorf
532 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: TDBGrid flackert bei DrawColumnCell

  Alt 2. Mär 2004, 06:48
Hi Ramses,

dein Problem liegt in der Handhabung von OnDrawColumnCell. Das ist eigentlich ein Ereignis, bei dem Du direkt in das Zeichnen des Grids eingreifen kannst. Durch das ändern des FieldTextes wird die Methode jedoch erneut aufgerufen usw.

hier mal ein einfaches Beispiel, was Du mit der Methode machen kannst.

Delphi-Quellcode:
procedure TfEventLog.dbgLogfileDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
var
  s : string;
begin
  if DataCol = 1 then
  begin
    //neuen Text festlegen
    s:= '-> ' + Column.Field.Text;
    //den, vom System gezeichneten, Inhalt löschen
    dbgLogfile.Canvas.FillRect(Rect);
    //eigenen Text reinschreiben
    dbgLogfile.Canvas.TextRect(Rect,Rect.Left+4,Rect.Top+2,s);
  end;
end;
Hoffe das hilft ein wenig.

Ciao Marco
Marco Warm
  Mit Zitat antworten Zitat