![]() |
primäre Form vertikal scrollen
Hallo,
ich erzeuge dynamisch Inhalte in meiner Form. Wenn ich mit meinem erzeugten Elementen den unteren Rand der Form überschreite werden die Elemente zwar weiterhin erzeugt aber ich kann sie nicht mehr sehen weil ich nicht nach unten scrollen kann. Ich habe in den Eigenschaften der Form die Eigenschaft "AutoScroll" auf true sehen aber es erscheint kein Scollbar. Wenn ich die Clienthöhe anpasse wird meine Form immer größer ... Ich wäre für einen Lösungsansatz sehr dankbar. Gruß Holger. :gruebel: |
Re: primäre Form vertikal scrollen
hast Du vielleicht den Wert Visible von VertScrollBar oder HorzScrollBar des Forms auf False stehen?
|
Re: primäre Form vertikal scrollen
Hallo.
Nein. Die Visible Eigenschaften stehen für beide Scrollbars auf true. Woran merkt die Form eigentlich das die aktive Fläche nicht ausreicht um den Inhalt darzustellen? Kann ich da vielleicht ein Ereignis verwenden? Die Eigenschaft "isScrollBarVisible" bleibt auch brav auf false stehen. Gruß Holger. |
Re: primäre Form vertikal scrollen
Hallo, ein ähnliches Problem gibt es übrigens auch bei den ScrollBoxen. Der Knackpunkt ist hier wie da die Property "Range" der VertScrollBar. Wenn diese (wie hier der Fall) nicht automatisch mit eingestellt wird, dann muss man das eben jeweils selbst 'per Hand' tun, etwa so:
Delphi-Quellcode:
procedure TForm1.niceVertScrollBar;
var I, RangeMin : integer; begin RangeMin := ClientHeight; for I := 0 to ControlCount-1 do if (Controls[I] is TWinControl) then with Controls[I] as TWinControl do if Top + Height > RangeMin then RangeMin := Top + Height; VertScrollBar.Range := RangeMin +10; // +10 = Abstandspuffer; end; |
Re: primäre Form vertikal scrollen
Hallo,
der Code klappt super. Nun bekomme ich auch einen Scrollbalken. Der Nachteil daran ist das meine Statusleiste nach unten verschwindet sobald der Scrollbalken eingeblendet wird. Wenn ich die Eigenschaft Align von "alBottom" auf "alNone" ändere bleibt der Statusbar zwar am Boden aner wenn ich dann scrolle verschiebt er sich mit dem Hintergrund. Kann ich die Position der Statusbar irgendwie einfrieren? Gruß Holger. :( |
Re: primäre Form vertikal scrollen
Zitat:
Das einzigste was man in dieser Richtung aber machen könnte ist, gleich nach einer anfänglichen StatusBar noch eine ScrollBox mit auf die Form zu ziehen und deren Align auf "alClient" einzustellen. Alle weiteren Controls kämen dann einfach anstatt auf die Form auf die ScrollBox. DENN: Was ist eine Form mit ScrollBars im Grunde genommen schon anderes als eben auch nur wieder eine ScrollBox. Die Unterschiede dürften da jedenfalls kaum auffallen, imo :-D . |
Re: primäre Form vertikal scrollen
Hallo,
mit der Scrollbox klappt das super. Danke. Gruß Holger. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:04 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