Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.183 Beiträge
 
Delphi 12 Athens
 
#4

AW: Listbox Ownerdraw und Größenänderung

  Alt 11. Okt 2023, 09:47
Oder .Invalidate anstatt .Repaint bzw. .Refresh.

Repaint malt "eventuell" sofort (kommt bissl auf die Komponenten drauf an)
Invalidate sagt die Anzeige ist "ungültig" ... sie wird dann bei nächster Gelegenheit aktualisiert (Paint)

Delphi-Quellcode:
ListBox1.Repaint;
ListBox1.Repaint;
ListBox1.Repaint;
ListBox1.Repaint;
ListBox1.Repaint;
// malt 1 oder 5 Mal

ListBox1.Invalidate;
ListBox1.Invalidate;
ListBox1.Invalidate;
ListBox1.Invalidate;
ListBox1.Invalidate;
// malt anschließend nur 1 Mal

PS:
Invalidate macht ein InvalidateRect auf das ganze Control.
Beim Resize oder Scroll wird nur ein InvalidateRect auf den "neuen" Bereich ausgelöst und dann auch nur dieser Teil neu gezeichnet.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (11. Okt 2023 um 09:57 Uhr)
  Mit Zitat antworten Zitat