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/)
-   -   Wie ist dieses Menü aufgebaut? (https://www.delphipraxis.net/169120-wie-ist-dieses-menue-aufgebaut.html)

Metschu 29. Jun 2012 21:01

Wie ist dieses Menü aufgebaut?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Nabends!

Ich möchte gerne in meinem Projekt das Einstellungsformular ähnlich dem der Projektoptionen in Delphi XE2 (siehe Bild) gestalten.
Hier stellt sich mir nun die Frage, wie man das am besten löst:

Variante a
Die einzelnen "Seiten" sind nicht sichtbar auf der Form und werden erst Sichtbar, wenn man auf den entsprechenden Eintrag im TreeView klickt

Variante b
Die einzelnen Komponenten einer "Seiten" werden durch den Quelltext immer neu gezeichnet und gelöscht

Variante c
Gibts da noch ne andere Möglichkeit?

Danke schonmal!

Gruß

Torsten

himitsu 29. Jun 2012 21:59

AW: Wie ist dieses Menü aufgebaut?
 
Rechts ein PageControl, wo die Tabs ausgeblendet sind, also bei jedem PageSheet das TabVisible auf False.
(man kann die Tabs aber auch erst im OnCreate ausblenden, wenn man sie im Formdesigner noch sehn will.)

Jede Seite ist ein Frame, welcher entsprechen erstellt/geladen/angezeigt wird.

p80286 29. Jun 2012 22:36

AW: Wie ist dieses Menü aufgebaut?
 
Interessehalber, warum Frames?
abgesehen von der Wiederverwertbarkeit?

Gruß
K-H

himitsu 29. Jun 2012 23:27

AW: Wie ist dieses Menü aufgebaut?
 
Warum nicht?

Es ist eine mögliche Lösung.
- eventuell wiederverwendbar
- einzeln editierbar
- die dahinterliegenden Codes und Eventhandler liegen in je der Unit, also der des jeweiligen Frames und nicht Alles in einer Unit

Furtbichler 30. Jun 2012 11:10

AW: Wie ist dieses Menü aufgebaut?
 
Die Lösung von himitsu ist GUI-OOP und sauber.

Metschu 30. Jun 2012 19:03

AW: Wie ist dieses Menü aufgebaut?
 
Auf die (Einfache) Idee bin garnicht gekommen... :coder2:

Danke für die Tips! :dp:

Gruß

Torsten

p80286 2. Jul 2012 09:18

AW: Wie ist dieses Menü aufgebaut?
 
Zitat:

Zitat von himitsu (Beitrag 1173022)
Warum nicht?

Es ist eine mögliche Lösung.
- eventuell wiederverwendbar
- einzeln editierbar
- die dahinterliegenden Codes und Eventhandler liegen in je der Unit, also der des jeweiligen Frames und nicht Alles in einer Unit

Danke, soweit hatte ich noch nicht gedacht.
Gruß
K-H

himitsu 2. Jul 2012 10:27

AW: Wie ist dieses Menü aufgebaut?
 
Zitat:

Zitat von Furtbichler (Beitrag 1173038)
Die Lösung von himitsu ist GUI-OOP und sauber.

Ups, das sollten natürlich 2 (weitere) Lösungen darstellen. (Eine pro Abschnitt)
(welche man eventuell auch kombinieren könnte)



Es gibt in einigen Komponentensammlungen auch sowas wie Options-Wizards, welche ebenfalls derartige Funktionalitäten anbieten.



Wenn man ganz brutal drauf ist, dann könnte man natürlich auch jede "Seite" auf ein TPanel legen, welche jeweils entsprechend auf Visible gesetzt werden, aber das PageControl (Page=Seite) eignet sich dann doch etwas besser.

Unter Win 3.1 gibt es zwar noch ein TNotebook, welches theoretisch auch geeignet wäre, aber wie der Name "Win 3.1" schon besagt, sollte man von diesen Komponenten möglichst die Finger lassen, denn vorallem dieses TNotebook ist eine extrem grauenhafte Komponente.
( PS: Seit wann gibt es das TTabbedNotebook und wer ist auf die Idee gekommen dieses Schrottding weiterzuentwickeln? Ich kann mich jedenfalls nicht erinnern das TabbedDingens im Delphi 4 jemals gesehn zu haben)

p80286 2. Jul 2012 11:51

AW: Wie ist dieses Menü aufgebaut?
 
Auch wenn es mit einem TPagecontrol vllt. einfacher geht,
Frames und ein TTabcontrol das sollte eigentlich auch ganz gut gehen.

Gruß
K-H

bernau 2. Jul 2012 12:10

AW: Wie ist dieses Menü aufgebaut?
 
Ich benutze für meine Konfigurationseinstellungen auch das PageControl und dort jeweils ein Frame drauf. Der Code wird übersichtlicher, weil nicht alles in einer unit steht, sondern der Code zum Frame auch nur in der Frame-Unit steht.

Ich habe dann noch ein TConfigTemplateFrame erzeugt, in dem die Funktionen implementiert sind, die man in jedem Frame braucht und davon das jeweilige Frame abgeleitet.

In meiner größten Software, in der die Konfiguration ca. 60 Seiten hat, habe ich dann auf das TPageControl verzichtet und erzeuge die Frames dynamisch, wenn diese gebraucht werden. Das beschleunigt den Start der Konfiguration.


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