Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Extrem langsames Aktualisieren großer Anzahl von TLabels? (https://www.delphipraxis.net/78157-extrem-langsames-aktualisieren-grosser-anzahl-von-tlabels.html)

Hawkeye219 29. Sep 2006 22:27

Re: Extrem langsames Aktualisieren großer Anzahl von TLabels
 
Noch was:
Zitat:

Zitat von christian.noeding
Das Setzen von DoubleBuffer der Forms hat nicht wirklich was gebracht...

In deinem Fall muß DoubleBuffered bei der ScrollBox (als Parent der Labels) gesetzt werden, nicht bei den Formularen!

Gruß Hawkeye

nailor 29. Sep 2006 22:46

Re: Extrem langsames Aktualisieren großer Anzahl von TLabels
 
Zitat:

Zitat von Hawkeye219
Noch was:
Zitat:

Zitat von christian.noeding
Das Setzen von DoubleBuffer der Forms hat nicht wirklich was gebracht...

In deinem Fall muß DoubleBuffered bei der ScrollBox (als Parent der Labels) gesetzt werden, nicht bei den Formularen!

Gruß Hawkeye

am intelligentesten einfach bei Label.Parent setzen, dann stellt sich auch garnicht die Frage, ob das jetzt nun die ScrollBox, die Form, oder sonstwas ist...

christian.noeding 29. Sep 2006 22:59

Re: Extrem langsames Aktualisieren großer Anzahl von TLabels
 
Tatsache, jetzt läufts... hatte das Doublebuffer nur probiert, als ich die LockWindow-Prozedur noch nicht angewandt hatte (und die WindowUnlock natürlich ohne DoubleBuffer)...

Wenn man beides auf die Scrollbox anwendet, dann rennt die GUI ;-)


Vielen Dank für Eure Hilfe! :thumb:


Ich geh jetzt erstmal :cheers: !

Gute Nacht :spin2:

semo 29. Sep 2006 23:53

Re: Extrem langsames Aktualisieren großer Anzahl von TLabels
 
ich würde anstatt 200 labels zu verwenden diese texte direkt auf das Form oder ein anderes control malen (muss man nur halt positionieren in einer schleife.

du könntest ja auch ein memo nehmen, diese ohen rahmen darstellen und als hintergrundfarbe die farbe des forms übernehmen.

christian.noeding 30. Sep 2006 02:15

Re: Extrem langsames Aktualisieren großer Anzahl von TLabels
 
Zitat:

ich würde anstatt 200 labels zu verwenden diese texte direkt auf das Form oder ein anderes control malen
Das hätte ich ja gern gemacht, aber ich möchte mit einem Klick auf einzelne Werte ein "OnMouseDown"-Ereignis aufrufen :) und somit hat sich das leider erledigt... ;-)

Mittlerweile habe ich aber ein neues Problem: wenn ich neben den Labels noch Checkboxes oder Scrollbars habe, dann funktioniert das mit dem DoubleBuffer nicht mehr. Die Forms werden partout nicht mehr aktualisiert. Erst wenn ich den DoubleBuffer-Eintrag entferne, kann ich die Komponenten wieder ansprechen... was das nu wieder ist? :gruebel:

Egal, so ein kleines flimmern könnte ich verkraften *g*


Nur erschreckend, wie schnell das GUI in die Knie geht (habe jetzt neben den 200 Wertanzeigen noch knapp 200 Scrollbars dynamisch erzeugt) und nun aktualisiert das alles noch einen Tick langsamer :-/


Gute Nacht :)

semo 30. Sep 2006 02:57

Re: Extrem langsames Aktualisieren großer Anzahl von TLabels
 
das mit dem mousedown ist doch auch kein problem,
im formmousedown event guckst du einfach wo der anwender hingeklickt hat und anhand der positionen der text weist du doch welcher text "angeklickt" wurde.

mit ptinrect etc. kann man sowas schnell prüfen....

christian.noeding 30. Sep 2006 10:25

Re: Extrem langsames Aktualisieren großer Anzahl von TLabels
 
OK, aber wie umgehe ich das Problem mit den Scrollbars? Die Übersicht kann ich mit nem Memofeld oder ähnlichen machen, das sehe ich ein, aber dieses Faderpanel? Hier ist die Aktualisierung noch drastisch langsamer und DoubleBuffered:=True zieht komischerweise nicht!? Gibts dafür vielleicht noch ne Idee? *g*


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:34 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz