![]() |
Refresh unterbinden (Begin/EndUpdate)
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,
folgendes Problem: wie im angehängten Projekt ersichtlich möcht ich einen sogenannten Inspektor basteln. Das Problem ist nun beim Aufbau des Inspektors flackert das ganze Fenster. Ist es irgendwie möglich das Neuzeichnen eines Panels zu unterbinden? Habs bereits mit "LockWindowUpdate" versucht, nur ist dann der Aufbau des Fensters ziemlich langsam. :( Kennst sich da jemand aus? :idea: Gruss, Markus |
Re: Refresh unterbinden (Begin/EndUpdate)
Die API Funktion LockWindowUpdate ist eine Fehlkonstruktion, da man nur ein Window sperren kann.
Besser ist folgendes:
Delphi-Quellcode:
// von TeamB
procedure LockControl(c: TWinControl; lock: boolean); begin if (c = nil) or (c.Handle = 0) then exit; if lock then SendMessage(c.Handle, WM_SETREDRAW, 0, 0) else begin SendMessage(c.Handle, WM_SETREDRAW, 1, 0); RedrawWindow(c.Handle, nil, 0, RDW_ERASE or RDW_FRAME or RDW_INVALIDATE or RDW_ALLCHILDREN); end; end; |
Re: Refresh unterbinden (Begin/EndUpdate)
Hi,
vielen Dank für diese prompte Antwort! :-D Hab das gleich mal so eingebaut, und funktioniert einwandfrei! Der Aufbau des Inspektors benötigt allerdings immer noch recht viel Zeit...gibts da eine Möglichkeit dies noch zu beschleunigen? Gruss, Markus |
Re: Refresh unterbinden (Begin/EndUpdate)
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
ich habe versucht es etwas zu optimieren. Vielleicht hilft es dir ja weiter. mfG mirage228 |
Re: Refresh unterbinden (Begin/EndUpdate)
Wenn man kein flackern haben will
sollte man beim Panel DoubleBuffered := True setzen ist dann allerdings wieder mal etwas langsamer. |
Re: Refresh unterbinden (Begin/EndUpdate)
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,
so nun hab ne schnelle Lösung gefunden, danke Euch allen! :dancer: Den grossen Geschwindigkeitsverlust verursacht hat die ganze Parent Geschichte. Ich erstelle nun zuerst alle einzelnen Rows, und am Ende erst werden dann sämtliche Parents verknüpft. Hab die aktuellste Version nochmals als Attachment angehängt, falls jemand Interesse hat :-D Gruss, Markus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 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