![]() |
Zeichnen dynamisch erzeugter TWinControls beschleunigen
Hallo Zusammen,
ich arbeite in einem Projekt mit den DevExpress Komponenten. Auf der Form befindet sich eine TcxSrollBox. In dieser ScrollBox werden zur Laufzeit dynamisch 1 bis 12 tcxMCListBox Objekte mit 25 ListBoxItems erzeugt. Sobald ein tcxMCListBox in der TcxSrollBox erzeugt wird, wird es sofort gezeichnet. Somit flackert die Form bis alles gezeichnet ist. Durch das permanente Zeichen geht natürlich die performance in die Knie. Bei anderen Controls gibt es soetwas wie BeginnUpdate und EndUpdate. Beiden denen zwei DevExpress Komponenten leider nicht. Ich habe die TcxSrollBox auf Visible = false gesetzt und nach dem erzeugen auf Visible = true damit ist es deutlich besser aber nicht ausreichend. Hat jemand eine Idee? |
AW: Zeichnen dynamisch erzeugter TWinControls beschleunigen
Du könntest es mal mit LockwindowUpadte versuchen:
Code:
LockWindowUpdate(cxSrollBox.Handle)
//Dein Erzeugen und Füllen der Listboxen LockWindowUpdate(0) |
AW: Zeichnen dynamisch erzeugter TWinControls beschleunigen
Außerdem solltest du im Quelltext einmal schauen, wo das Neuzeichnen ausgelöst wird.
Kannnst du vielleicht mit WM_SETREDRAW, das du an die Scrollbox schickst, das Flackern verhindern? Damit kannst du das Neuzeichnen aktivieren oder deaktivieren, je nach Parameter. // EDIT: Zitat:
|
AW: Zeichnen dynamisch erzeugter TWinControls beschleunigen
Hallo Zusammen,
ich habe zufällig diesen Beitrag gefunden für LockDrawing und UnlockDrawing. Damit verbessert sich das Zeichnen gewaltig. Jetzt ist alles absolut ruhig und Pfeilschnell. Es basiert auf WM_SETREDRAW. ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz