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 VCL TScrollbox mit ynamisch erzeugten Steuerelementen (https://www.delphipraxis.net/215909-vcl-tscrollbox-mit-ynamisch-erzeugten-steuerelementen.html)

TurboMagic 24. Sep 2024 15:34

VCL TScrollbox mit ynamisch erzeugten Steuerelementen
 
Hallo,

wie funktioniert das bei TScrollbox wenn das Fenster eine feste Höhe hat,
die Scrollbox client aligned auf ihrem Container liegt und ich zur Laufzeit
Steuerelemente untereinander hinzufüge?

Am anfang sind die ja alle noch im sichtbaren Bereich. Was ist aber wenn ich
für z. B. ein Label als Top einen Wert > Height der Scrollbox angebe? Ich gehe
davon aus, das Height die angezeigte Höhe/der Ausschnitt der Scrollbox ist.
Erweitert diese dann einfach ihre Höhe bzw. die Client Height?

Oder gibt's noch was zu beachten?

himitsu 24. Sep 2024 16:02

AW: VCL TScrollbox mit ynamisch erzeugten Steuerelementen
 
Die ScrollBox verschiebt eigentlich die Controls innerhalb von sich, nicht wirklich sich selbst. (wenn ich mich nicht irre)

Die Position des obersten/linkesten Controls wäre dann die Position "0".

Redeemer 24. Sep 2024 16:04

AW: VCL TScrollbox mit ynamisch erzeugten Steuerelementen
 
Du machst einen Thread auf für eine Ja-Nein-Frage, die du mit drei Zeilen Code selbst beantworten kannst? Ich verstehe die Frage auch nicht.

Tückisch ist, dass Top und Left abhängig von der Scrollbarposition sind. Top := 0 ist somit immer am aktuellen oberen Rand sichtbar, egal wo die Scrollbar ist.

Neumann 24. Sep 2024 20:44

AW: VCL TScrollbox mit ynamisch erzeugten Steuerelementen
 
Vielleicht ist die Controllist für den Zweck besser geeignet. Mal versuchen, ich finde sie eigentlich ganz praktisch. Ist allerdings mehr zeilenorientiert wie eine Listbox oder ein Grid.

Uwe Raabe 24. Sep 2024 21:06

AW: VCL TScrollbox mit ynamisch erzeugten Steuerelementen
 
Die Width und Height einer Scrollbox ändert sich nicht abhängig von ihrem Inhalt. Das wäre auch nicht gewünscht, denn du willst ja nicht, dass die Scrollbox ihre GRöße ändert.

Es ändert sich allerdings der Scrollbereich. Das gilt übrigens auch für andere TScrollingWinControl Abkömmlinge wie TForm oder TFrame, wenn deren AutoScroll = Treu ist.

TurboMagic 25. Sep 2024 08:10

AW: VCL TScrollbox mit ynamisch erzeugten Steuerelementen
 
Zitat:

Zitat von Neumann (Beitrag 1541484)
Vielleicht ist die Controllist für den Zweck besser geeignet. Mal versuchen, ich finde sie eigentlich ganz praktisch. Ist allerdings mehr zeilenorientiert wie eine Listbox oder ein Grid.

Danke für die Idee, nur eignet sich die in meinem Fall nicht, da ich verschiedenste Arten von Controls
drauf platzieren muss und viele davon brauchen Window Handles, also die Art von Steuerelement die mit
der Controllist nicht funktioniert.

Für bestimmte Arten von Listen ist die aber sicher sehr brauchbar.

TurboMagic 25. Sep 2024 09:07

AW: VCL TScrollbox mit ynamisch erzeugten Steuerelementen
 
Hallo,

habe das jetzt mal ausprobiert und es funktioniert wie ich es mir wünsche.
Erzeugt man ein Steuerelement mit einer Y-Position die derzeit nicht auf dem Bildschirm liegt,
wird die Scrollbox vertikal erweitert und man kann zu dem Steuerelement scrollen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 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