Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Formular scrollbar?


Ottchen - So 22.03.09 12:03
Titel: Formular scrollbar?
Liebe Programmierer,

wenn ich eine Komponente z.B. einen Button an den unteren Rand des Fomulars setze, und dann die Höhe des Formulars so verändere, dass ich den Button nicht mehr sehe, erscheint rechts ein Scrollbalken, um den Button wieder sehen zu können.
Gibt es denn auch eine Möglichkeit, ein Formular zu scrollen, wenn der Button nicht verdeckt ist bzw. alle Komponenten sichtbar sind?

Hintergrund meiner Frage ist das Problem, dass mein Programm für bestimmte Auflösungen zu groß ist; Verschieben kann man es ja nur mit Maus und der Titelleiste des Programms. Wenn es eine Scroll-Möglichkeit für das Formular geben sollte, kann man im Formular nach unten scrollen.

Danke
Ottchen


jaenicke - So 22.03.09 16:02

user profile iconOttchen hat folgendes geschrieben Zum zitierten Posting springen:
Gibt es denn auch eine Möglichkeit, ein Formular zu scrollen, wenn der Button nicht verdeckt ist bzw. alle Komponenten sichtbar sind?

Hintergrund meiner Frage ist das Problem, dass mein Programm für bestimmte Auflösungen zu groß ist
Wenn das Programm zu groß ist und das Fenster entsprechend verkleinert wird, dann sind doch die Komponenten nicht mehr alle sichtbar. Und dann erscheinen, wenn HorzScrollBar.Visible bzw. VertScollBar.Visible True sind, auch die Scrollleisten.

Das passiert natürlich auch, wenn du per Code die Höhe / Breite einstellst.

Wenn nichts außerhalb des Sichtfeldes ist, warum sollte dann gescrollt werden? ;-)


JayEff - So 22.03.09 18:36

user profile iconOttchen hat folgendes geschrieben Zum zitierten Posting springen:
das Problem, dass mein Programm für bestimmte Auflösungen zu groß ist;
Nun, finde per Screen.Width / Height die Auflösung beim Start des Programmes heraus und falls dein Formular nicht drauf passt, veränderst du eben die Größe und gegebenenfalls auch die Position. Dadurch werden die Scrollbalken natürlich angezeigt, falls deine Komponenten nicht mehr auf die neue Form passen, und der User sollte dein Programm trotzdem einwandfrei nutzen können - Ich denke aber, es wäre sogar besser, wenn du diese Prozedur öfter ausführst, vielleicht im onActivate oder im onPaint (Aber pass auf dass du es nicht unnötig oft machst :) )