Diverse Formulare in einem scrollbaren Bereich

Rund um die LCL und andere Komponenten
aro
Beiträge: 130
Registriert: Di 26. Jul 2011, 19:58
OS, Lazarus, FPC: Deepin 20.2; Lazarus 2.0.0 + dfsg-2
CPU-Target: 64Bit

Re: Diverse Formulare in einem scrollbaren Bereich

Beitrag von aro »

Die meisten Programme teilen das Fenster in 2 Spalten.
Links eine schmale Liste oder Treeview mit den Themen und rechts mehrere gleichgroße Panels übereinander mit den entsprechenden Komponenten.
Und so gehe ich auch vor.
Über die Liste wählst Du das entsiechende Thema aus und bringst nur das dafür bestimmte Panel nach vorn.
Das dürfte für jemanden mit wenig Vorkenntnissen die einfachste und sicherste Lösung sein, und andere können ohne Erklärung sofort etwas damit anfangen.
Wenn die Panels Namen tragen, die dem Thema entsprechen und die Bedienelemente im jeweiligen Panel dann in ihrem Namen auch den Namen des Panel mit enthalten, behältst Du leicht die Übersicht.

Sieben
Beiträge: 202
Registriert: Mo 24. Aug 2020, 14:16
OS, Lazarus, FPC: Ubuntu Xenial 32, Lazarus 2.2.0, FPC 3.2.2
CPU-Target: i386

Re: Diverse Formulare in einem scrollbaren Bereich

Beitrag von Sieben »

Ich würde Frames aber tatsächlich ganz vorn im Hinterkopf behalten, sozusagen. Frames ändern nichts an der Benutzerführung, haben aber im Falle zunehmender Komplexität (und das tut sie ja bekanntlich immer...) den großen Vorteil, dass du bei konsequenter Anwendung je eine Unit pro Seite der PageControl hast statt nur eine immer größer werdende für alle zusammen. Das macht es wesentlich leichter, inhaltlich zusammenhängenden Code auch programmtechnisch zusammen zu halten, es automatisiert diese Aufgabe geradezu. Mehrere kleine Units sind einfach übersichtlicher als eine große. Und es funktioniert auch in die andere Richtung - dadurch, dass aufgeteilt werden muss, wird auch eher klar, was wirklich inhaltlich zusammengehört und wo sich noch was überlappt.
...und rechts mehrere gleichgroße Panels übereinander mit den entsprechenden Komponenten.
bzw eben ein PageControl...

Antworten