RadioGroupBox in Lazarus ?

Rund um die LCL und andere Komponenten
Antworten
Mathias
Beiträge: 6194
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

RadioGroupBox in Lazarus ?

Beitrag von Mathias »

Ich habe da gerade GroupBoxen mit einem Check/Radio Feld entdeckt. (Man beachte die Titelzeile bei den Boxen.)

https://www.codeproject.com/Articles/32 ... ioGroupBox

Gibt es sowas auch für Lazarus, am besten ohne Fremdkomponente ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

wp_xyz
Beiträge: 4889
Registriert: Fr 8. Apr 2011, 09:01

Re: RadioGroupBox in Lazarus ?

Beitrag von wp_xyz »

Du kannst eine Checkbox/einen Radiobutton in the GroupBox setzen und um -Height nach oben verschieben (Checkbox1.Top := -Checkbox1.Height), damit ist sie/er am obersten Rand der Groupbox. Im Prinzip kannst du die Caption der Groupbox leer lassen und durch die Caption von Checkbox/Radiobutton ersetzen. Allerdings scheint dann, je nach Widgetset, der Rahmen der Groupbox durch. Alternativ kannst du die Caption von Checkbox/Radiobutton leer machen. Wenn die Caption der Groupbox links ausreichend viele Leerzeichen enthält, bringst du Checkbox/Radiobutton in der linken oberen Ecke, links von der Groupbox-Caption unter. Oder - das Hantieren mit Leerzeichen als Platzhalter ist immer problematisch - du setzt Checkbox/Radiobutton einfach in die rechte obere Ecke der Groupbox - siehe Screenshot.
Dateianhänge
oscilloscope.png
oscilloscope.png (41.06 KiB) 1248 mal betrachtet

Mathias
Beiträge: 6194
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: RadioGroupBox in Lazarus ?

Beitrag von Mathias »

Egal, ob in oder Ausserhalb der GroupBox, in beiden Fallen wie der Button verschnitten.
Dateianhänge
Bildschirmfoto vom 2020-08-15 15-02-11.png
Bildschirmfoto vom 2020-08-15 15-02-11.png (5.93 KiB) 1236 mal betrachtet
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

wp_xyz
Beiträge: 4889
Registriert: Fr 8. Apr 2011, 09:01

Re: RadioGroupBox in Lazarus ?

Beitrag von wp_xyz »

Ja, gtk2 scheint sich wie Windows zu verhalten (benötigt allerdings einen anderen vertikalen Versatz weil das Control noch mit etwas Rand versehen ist). QT5 verhält sich wie dein Screenshot. Allerdings kann ich die Checkbox außerhalb der Groupbox platzieren und dann über die Groupbox ziehen. Zum Schluss noch im Kontext-menü über "Z-Order" > "Move to front" die Checkbox nach vorne holen damit sie von der Groupbox nicht übermalt wird. Das funktioniert aber bei gtk2 wiederum nicht. Bei Windows schon.

Also: beliebig komplizert...
Am besten die Checkbox schön brav in den Client-Bereich der Groupbox setzen, dann funktioniert alles, nur etwas weniger schick.

Mathias
Beiträge: 6194
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: RadioGroupBox in Lazarus ?

Beitrag von Mathias »

Ich habe es jetzt mal so gelöst, siehe Anhang.

So wie es im .NET Beispiel ist hätte einiges hübscher ausgesehen.
Also: beliebig komplizert...
Da lasse ich es bleiben.
Beim Mac-OS sieht es sicher nochmals anders aus ?

Trotzdem Danke
Dateianhänge
Bildschirmfoto vom 2020-08-15 15-56-46.png
Bildschirmfoto vom 2020-08-15 15-56-46.png (91.69 KiB) 1232 mal betrachtet
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6194
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: RadioGroupBox in Lazarus ?

Beitrag von Mathias »

Ich werde dies sowieso anders lösen, der Dialog ist schon ein wenig übergross.
Für Liebhabe von kleinen Bildschirmen werden ein Problem haben.
Vermutlich nehme ich einen PageControl.
Dann fällt auch der Nebeneffekt mit den komischen Farben bei Enable=False wie im anderen Thred beschrieben nicht so ins Gewicht.
Siehe: viewtopic.php?f=18&t=13088
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten