Einzelnen Beitrag anzeigen

Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Paintbox Draw, bereits gezeichnete löschen

  Alt 20. Nov 2018, 09:01
Das "normale" Vorgehen ist, in einem Button-Klick o.ä. die internen Datenstrukturen (Arrays, DB, ...) zu bearbeiten und danach PaintBox.Invalidate aufzurufen. Im OnPaint zeichnest du einfach alles neu. Also nix mit rückgängig machen oder so.

Wenn das zu langsam ist oder flackert, kannst du statt PaintBox.Invalidate mit InvalidateRect experimentieren, um das Neuzeichnen zu minimieren.

Edit: Also in deinem Fall sollte reichen, jeweils ein InvalidateRect auf die Stelle loszulassen, wo das Plus vorher war, und dort, wo es jetzt ist. Oder vielleicht jeweils auf die ganzen Zeilen, wenn das einfacher ist oder sowieso mehr Icons betroffen sind.

Noch ne Edit:Kannst du nicht Speedbuttons o.ä. verwenden, statt alles selber zu malen?
Uli Gerhardt

Geändert von uligerhardt (20. Nov 2018 um 09:07 Uhr)
  Mit Zitat antworten Zitat