Button Stylen

Forum für alles rund um die MSEide und MSEgui
mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Button Stylen

Beitrag von mse »

fliegermichl hat geschrieben:Mittels Esc gelangt man schrittweise zurück in das Hauptmenü...

Dazu gibt es t*form.options fo_closeonesc und fo_freeonclose.
Jedes Unterformular legt sich modal über das jeweils darüberliegende. Ist ein Endpunkt erreicht, überlagert ein Fullscreen Fenster den ganzen Menüweg.

Das sieht vertraut aus! Anbei Screenshots eines nicht mehr ganz jungen DOS-Programmes das ich immer noch in Gebrauch habe.
hkh1.png

hkh2.png

hkh3.png

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1432
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Button Stylen

Beitrag von fliegermichl »

Genau so.

Das alte DOS Programm haben die im Schlaf beherrscht, alle späteren Windowsversionen waren mehr oder weniger Flops - weil zu kompliziert.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1432
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Button Stylen

Beitrag von fliegermichl »

Gibt es eine einfache Möglichkeit, unterschiedliche Formulare (natürlich nicht gleichzeitig) sozusagen als Container in das mainform zu laden.
Wenn ich als Reaktion auf z.B. einen Button ein neues Formular anzeige, legt sich das über das vorhandene.

Ich hätte aber gerne, daß es sozusagen den Inhalt des aktuellen Formulares ersetzt.

In Delphi habe ich das mit einem PageControl gelöst in dem auf allen Seiten TabVisible = False gesetzt war und ich per Code die einzelnen Tabs aktiviert habe.
Der Nachteil ist, daß immer alle möglichen Inhalte erzeugt werden egal ob sie gebraucht werden. das verbraucht jede Menge Resourcen.

Viele Grüße
Michael

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Button Stylen

Beitrag von mse »

Wie sieht das mainform aus?

braunbär
Beiträge: 369
Registriert: Do 8. Jun 2017, 18:21
OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10, FPC 3.2.0
CPU-Target: 64Bit
Wohnort: Wien

Re: Button Stylen

Beitrag von braunbär »

Du könntest für jede Seite ein Frame machen. Das Frame erzeugst du bei Bedarf dynamisch und setzt als Parent ein Panel der Hauptform.
Wenn du das Hauptmenü anzeigst, setzt du Panel.visible:=false, sonst Panel.align:=alClient.

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Button Stylen

Beitrag von mse »

Ich habe mal ein Beispiel gemacht:
https://gitlab.com/mseide-msegui/mseuni ... ms/subform
Es gibt auch TTabForm ('File'-'New'-'Form'-'TabForm'), das kann als tabpage verwendet werden.
https://gitlab.com/mseide-msegui/mseuni ... tabsubform
Ich weiss nicht ob die Demo noch läuft...
Edit:
Die Demo läuft noch, demonstriert aber eine weitere Möglichkeit mit automatisch eingebetteten und freigegebenen Subforms. TTabForm hingegen ist für dauernde Instantiierung auch bei tab-Wechsel vorgesehen.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1432
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Button Stylen

Beitrag von fliegermichl »

Danke für die Infos,

Wenn ich "git clone https://gitlab.com/mseide-msegui/mseuni ... ms/subform" eingebe, erhalte ich eine Fehlermeldung
Cloning into 'subform'...
fatal: repository 'https://gitlab.com/mseide-msegui/mseuniverse/tree/master/samples/forms/subform/' not found

Wenn ich den Link im Browser anklicke, erscheint die Liste der Dateien.
Gibt es eine Möglichkeit das mit git zu laden?

Ich habe das Subformbeispiel mal compiliert und es funktioniert auch soweit. Wenn ich options.fo_closeonesc bei den subforms auf true stelle, dann habe ich folgendes Verhalten.
1. ich klicke den Button subform1 und danach subform2 an.
2. Erwartungsgemäß öffnet sich zuerst subform1 und dann subform2. (Wenn ich mir den Quellcode in main.pas anschaue, ruft die Erzeugung von subform2 subform1.release auf. (Keiner scheint den Eingabefokus zu haben)
3. Drücke ich ESC, schliesst sich subform2 und jetzt hat der Button tbutton1 (subform1) den Fokus.

Danach kann ich die buttons anklicken so oft ich will, die erzeugten subforms reagieren nun nicht mehr auf ESC weil sie den Fokus nicht mehr bekommen.

Aber im grossen und ganzen ist das schon die Richtung in die ich will.

Danke und viele Grüße
Michael

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Button Stylen

Beitrag von mse »

fliegermichl hat geschrieben:Gibt es eine Möglichkeit das mit git zu laden?

Das MSEuniverse repository ist hier:
https://gitlab.com/mseide-msegui/mseuniverse
Ich habe das Subformbeispiel mal compiliert und es funktioniert auch soweit. Wenn ich options.fo_closeonesc bei den subforms auf true stelle, dann habe ich folgendes Verhalten.

Ich habe das Beispiel zur Verwendung von [fo_closeonesc,fo_freeonclose] entsprechend angepasst, git master bfaec62189ae7eb552acf61a8916c4d5e2601625.

Antworten