Thema: Delphi drawgrid langsam

Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: drawgrid langsam

  Alt 14. Aug 2007, 16:05
Mit with ... do lässt sich das etwas beschleunigen:
Delphi-Quellcode:
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  with drawgrid1.canvas do
  begin
    if feld[acol,arow] then
      brush.color := clblack
    else
      brush.color := clwhite;
    fillrect(rect);
  end;
end;
aber ich denke dein Flaschenhals liegt eher an anderer Stelle.
Versuch mal, nach jeder Änderung an feld[] die Methode Drawgrid1.Invalidate aufzurufen.
Das Drawgrid wird dann nicht sofort neu gezeichnet, sondern nur dann wenn Windows
Zeit hat die Windows Botschaften abzuarbeiten.
Das bedeutet, dass sich durchaus mehrere feld[] Werte ändern können, bis neu gezeichnet wird,
aber dafür ruckelt und flackert nichts.
Andreas
  Mit Zitat antworten Zitat