Programmaufbau wie "Installationsmenü"

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
1660
Beiträge: 10
Registriert: Do 19. Dez 2013, 10:35

Programmaufbau wie "Installationsmenü"

Beitrag von 1660 »

Hallo,

ich entwickle ein Tool zur Berechnung von Maschinenelementen. Das ganze soll aufgebaut sein wie ein typisches Installationsmenü, also mit "Weiter"- und "Zurück"- Button. Auf jeder "Seite" wird der Benutzer aufgedordert über z.B. TEdits Eingaben zu machen.

Jetzt weiß ich nicht wie man an die Sache herangeht. Habe es bereits mit Pagecontrol und TabSheets probiert, bin damit aber eher unzufrieden. Lieber wäre es mir die verschiedenen "Seiten" zu erstellen und danach miteinander zu "verbinden".

Hat jemand einen Vorschlag wie man so etwas umsetzt ? Scheint ja auf den ersten Blick ein häufiger vorkommendes Problem zu sein.

Viele Grüße

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2807
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Programmaufbau wie "Installationsmenü"

Beitrag von m.fuchs »

Was stört dich genau an dem PageControl? Die sichtbaren Tabs? Dann könntest du ein TNotebook verwenden. Das besitzt auch mehrere Seiten aber keine Tabs. Mit deinem Weiter-Knopf kannst du dann einfach zur nächsten Seite wechseln.

Wenn du die einzelnen Seiten gerne ausgelagert hättest, wäre ein TFrame für dich interessant. Damit erstellst du einen Container wie ein eigenes Form, baust dort alle Steuerelemente und die Logik der Seite ein und fügst das später in eine der Seiten ein.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Benutzeravatar
theo
Beiträge: 10867
Registriert: Mo 11. Sep 2006, 19:01

Re: Programmaufbau wie "Installationsmenü"

Beitrag von theo »

m.fuchs hat geschrieben:Was stört dich genau an dem PageControl?
Ja, das wäre hilfreich zu wissen.

Wenn die einzelnen Seiten kein komplexes Layout haben, sondern nur ein paar Edits und Checkboxes etc. in einer Spalte sind, dann würde ich es u.U. auch einfach dynamisch (im Code) erzeugen.

1660
Beiträge: 10
Registriert: Do 19. Dez 2013, 10:35

Re: Programmaufbau wie "Installationsmenü"

Beitrag von 1660 »

Am PageControl stört mich eigentlich nur der weiße Hintergrund.

Anscheinend lässt sich die Hintergrundfarbe ja auch nicht ändern, habe schon folgendes versucht ...
http://forum.lazarus.freepascal.org/ind ... #msg103415

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2807
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Programmaufbau wie "Installationsmenü"

Beitrag von m.fuchs »

1660 hat geschrieben:Am PageControl stört mich eigentlich nur der weiße Hintergrund.
Das PageControl hat immer die gleiche Farbei wie das Form. Bei TNotebook kannst du die Farbe ändern.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

1660
Beiträge: 10
Registriert: Do 19. Dez 2013, 10:35

Re: Programmaufbau wie "Installationsmenü"

Beitrag von 1660 »

Ich meine eigentlich die Hintergrundfarbe der Tabsheets. Diese sind immer weiß wenn ich mich nicht täusche.

Benutzeravatar
theo
Beiträge: 10867
Registriert: Mo 11. Sep 2006, 19:01

Re: Programmaufbau wie "Installationsmenü"

Beitrag von theo »

Dann machst halt ein Panel drauf.
Im Bsp ist ShowTabs auf false. Man sieht das dritte Sheet mit einem farbigen Panel.
Dateianhänge
tabsheet.png

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2807
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Programmaufbau wie "Installationsmenü"

Beitrag von m.fuchs »

1660 hat geschrieben:Ich meine eigentlich die Hintergrundfarbe der Tabsheets. Diese sind immer weiß wenn ich mich nicht täusche.
Nein.

Bild
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Programmaufbau wie "Installationsmenü"

Beitrag von Michl »

theo hat geschrieben:Dann machst halt ein Panel drauf.
Im Bsp ist ShowTabs auf false. Man sieht das dritte Sheet mit einem farbigen Panel.
Würde ich nicht empfehlen, hatte hier mal ein Beispiel gepostet und dann hinterher festgestellt, dass die Hintergundfarbe je nach Win7-Design sich mal ändern lässt oder eben auch nicht (selbst farbiges Panel drauf zeichnen ging nicht). Ich würde in Zukunft bei farbigen Hintergünden immer TNotebook empfehlen, da gabs keine Probleme.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

1660
Beiträge: 10
Registriert: Do 19. Dez 2013, 10:35

Re: Programmaufbau wie "Installationsmenü"

Beitrag von 1660 »

Wenn man ein Panel auf ein Tabsheet legt entstehen unschönre Ränder. Wie bereits gesagt habe ich das auch schon ausprobiert.

Die Idee von mfuchs ist im Ansatz gut, dennoch möchte ich den Style der Tabs behalten.

Werde wohl ein Notebook verwenden, außer jmd hat noch eine Idee wie man die Farbe der Tabsheets verändern könnte :wink:

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Programmaufbau wie "Installationsmenü"

Beitrag von Michl »

Habs gerade nochmal ausprobiert. Farbe von Form wird nur bei bestimmten Win7-Designs übernommen. Panel drauf tun geht aber immer, weiss gar nicht mehr, warum das bei dem andere Thread nicht ging - evtl. auch wegen des Randes :?

N´ Augenschmaus isses so ja nicht gerade:
PageControl.jpg
PageControl.jpg (16.16 KiB) 1780 mal betrachtet

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Benutzeravatar
theo
Beiträge: 10867
Registriert: Mo 11. Sep 2006, 19:01

Re: Programmaufbau wie "Installationsmenü"

Beitrag von theo »

1660 hat geschrieben:Wenn man ein Panel auf ein Tabsheet legt entstehen unschönre Ränder. Wie bereits gesagt habe ich das auch schon ausprobiert.
Och, ganz schlimm. Ein Pixelchen Rand ist natürlich der absolute Show-Stopper.
Kriegt man auch noch weg, wenn man das Formular in der gleichen Farbe macht.
Ihr habt Probleme.... :roll:

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Programmaufbau wie "Installationsmenü"

Beitrag von Michl »

theo hat geschrieben:Och, ganz schlimm. Ein Pixelchen Rand ist natürlich der absolute Show-Stopper.
Na ich persönlich meinte eigentlich, die Farbe überhaupt zu ändern, ist nicht unbedingt ein Augenschmaus. Je nachdem, welches Design man eingestellt hat, harmoniert diese ja dann damit oder eben auch nicht.
theo hat geschrieben:Kriegt man auch noch weg, wenn man das Formular in der gleichen Farbe macht.
Stimmt - viel besser! :wink:
so.jpg
so.jpg (11.39 KiB) 1774 mal betrachtet
[Edit] Weiss jetzt wieder, warum das nicht ging (oder ich das dachte). Wenn man in einem AeroDesign (Win7) ein Panel auf das TabSheet legt, bekommt dieses die Farbe von der Form zugewiesen. Dies funktioniert zuerst aber nicht. Erst, wenn man explizit nochmal die Farbe vom Panel in eine andere Farbe und wieder zurück stellt, wird diese angezeigt (in der IDE, sowie zur Laufzeit).

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Antworten