Delphi-PRAXiS

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 Dynamisch erstellte Komponenten in Scrollbox ausrichten (https://www.delphipraxis.net/83810-dynamisch-erstellte-komponenten-scrollbox-ausrichten.html)

Mr_G 6. Jan 2007 19:32


Dynamisch erstellte Komponenten in Scrollbox ausrichten
 
Wie der Titel schon sagt möchte ich gerne dynamisch erstellte Komponenten (LabeledEdits) in einer ScrollBox ausrichten. Ich hätte das gerne so, dass die LabeledEdits untereinanderstehend angeordnet werden, falls jedoch genügend Platz vorhanden ist sollen die Edits auf mehrere Spalten verteilt werden.
Ich habe schon ein bisschen mit Flow- und GridPanel rumgespielt aber ich habe bis jetzt keine Lösung zustandegebracht. Leider habe ich das Gefühl ich könnte irgendetwas übersehen haben aber bis jetzt hat sich das sprichwörtliche Brett vor dem Kopf noch nicht gelöst. :wall:
Ich hoffe ihr könnt mir auf die Sprünge Helfen.
Danke im Voraus

Mr_G

Mr_G 7. Jan 2007 19:34

Re: Dynamisch erstellte Komponenten in Scrollbox ausrichten
 
*push* :mrgreen:

SirThornberry 7. Jan 2007 19:39

Re: Dynamisch erstellte Komponenten in Scrollbox ausrichten
 
Ich verstehe das Problem nicht ganz. Kannst du mit SetBounds denn nicht die Position und größe der erstellten Komponenten setzen?

Mr_G 8. Jan 2007 18:30

Re: Dynamisch erstellte Komponenten in Scrollbox ausrichten
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von SirThornberry
Ich verstehe das Problem nicht ganz. Kannst du mit SetBounds denn nicht die Position und größe der erstellten Komponenten setzen?

Das Positionieren der Komponenten bei der Erzeugung ist nicht mein Problem. Es geht daraum, wie sie sich verhalten wenn die Scrollbox ihre Größe verändert.

Ich fürchte ich habe mich wirklich nicht präzise genug ausgedrückt, daher habe ich mal eine Zeichung gemacht (siehe Anhang):
In der Zeichnung sind zwei "Zustände" der Scrollbox abgebildet und die jeweilige Anordnung der enthaltenen Elemente (in meinem Fall ja LabeledEdits):
Zitat:

Zitat von Mr_G
... Ich hätte das gerne so, dass die LabeledEdits untereinanderstehend angeordnet werden, falls jedoch genügend Platz vorhanden ist sollen die Edits auf mehrere Spalten verteilt werden. ...

Ich glaube, dass ich diese Anordnung ganz einfach mit diesen Panels oder ein par anderen Einstellung erreichen könnte. Habe es bis jetzt aber nicht zu meiner Zufriedenheit hinbekommen.
Ich hoffe das Problem ist jetzt ein wenig klarer geworden.
Gruß

Mr_G

SirThornberry 8. Jan 2007 18:51

Re: Dynamisch erstellte Komponenten in Scrollbox ausrichten
 
hat die Scrollbox kein OnResize? In dem Moment wo du die Größe der Scrollbox änderst kannst du doch einfach mit einer Schleife alle deine Elemente durchgehen und neu plazieren.

Mr_G 8. Jan 2007 19:00

Re: Dynamisch erstellte Komponenten in Scrollbox ausrichten
 
Zitat:

Zitat von SirThornberry
hat die Scrollbox kein OnResize? In dem Moment wo du die Größe der Scrollbox änderst kannst du doch einfach mit einer Schleife alle deine Elemente durchgehen und neu plazieren.

Das gibt es natürlich und ich könnte das auch so machen aber ich dachte in Zeiten von Flow- und Gridpanel geht das "einfacher"/"eleganter". :roll:

Sko 8. Jan 2007 20:18

Re: Dynamisch erstellte Komponenten in Scrollbox ausrichten
 
Das gleiche Problem hab ich mit meinem JPG-Kompressor auch. Zur Zeit mach ich es wie SirThornberry schon geschrieben hat: bei einer Größenänderung geh ich in einer Schleife alle Elemente durch und richte Sie neu aus. Das funktioniert gut, allerdings ist die CPU-Auslastung dabei meist auf 99% (sind teilweise sehr viele Elemente). Von der Geschwindigkeit her ist das kein Problem, habs grad nochmal getestet: es waren 328 Frames in der Scrollbox und es hat etwa 1-2 Sekunden gedauert diese beim Ändern der Größe neu auszurichten. Bei der Geschwindigkeit stört die CPU-Auslastung weniger, allerdings wäre ich für eine bessere (schnellere/ressourenschonendere) Lösung auch dankbar.

Mr_G 9. Jan 2007 19:17

Re: Dynamisch erstellte Komponenten in Scrollbox ausrichten
 
So... Danke erstmal für die Tipps!
Ich bin bis jetzt nicht dazu gekommen an meinem Projekt weiterzuarbeiten aber ich denke ich werde die Option einer automatischen Neuanordnung der Elemente, wie ihr sie beschrieben habt, mit einbauen.
Falls dennoch jemand eine andere Idee hat bin ich weiterhin für alles offen.
Gruß

Mr_G

stahli 24. Jul 2008 13:32

Re: Dynamisch erstellte Komponenten in Scrollbox ausrichten
 
Hallo Mr_G,

besser spät als nie ;-)

Vielleicht nützt Dir das noch etwas: TScrollBoxFlow

Stahli

Mr_G 24. Jul 2008 15:37

Re: Dynamisch erstellte Komponenten in Scrollbox ausrichten
 
Man man man... in der DP geht wirklich nichts verloren... :coder:
Danke für den Hinweis! Das Projekt ist schon abgeschlossen und das Problem anderweitig gelöst aber es wird bestimmt nicht das letzte Mal gewesen sein, dass ich so eine Komponente gebrauchen kann.

Gruß Mr_G


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:53 Uhr.

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