Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Listbox Ownerdraw und Größenänderung

  Alt 11. Okt 2023, 10: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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

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