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/)
-   -   Delphi TRadioGroup - Elemente zentriert ausrichten? (https://www.delphipraxis.net/124098-tradiogroup-elemente-zentriert-ausrichten.html)

The Riddler 14. Nov 2008 10:11


TRadioGroup - Elemente zentriert ausrichten?
 
Also entweder spinn ich, oder gibt es keine Möglichkeit, die Radio-Items in einer RadioGroup zentriert auszurichten?

Sherlock 14. Nov 2008 10:24

Re: TRadioGroup - Elemente zentriert ausrichten?
 
Sowas gibts wirklich nicht, sähe ja auch irgendwie bescheiden aus. Kannst Du aber mit Radiobuttons und einer GroupBox selber bauen, wenns unbedingt sein muss.

Sherlock

The Riddler 14. Nov 2008 10:37

Re: TRadioGroup - Elemente zentriert ausrichten?
 
Wieso würde das bescheiden aussehen? Ich brauche die Ausrichtung da die RadioGroup über zwei Elementen sitzt. Wenn nun alle Items ganz links sind, dann sieht es bescheiden aus. Im Anhang so wie es sein sollte. Sehr verwunderlich das dies mit Delphi nicht standardmäßig möglich ist. :? Selber basteln mit GroupBox und Radioitems wollte ich vermeiden. Gibts ne andere Möglichkeit?

http://img185.imageshack.us/img185/6897/dpud0.jpg

Luckie 14. Nov 2008 10:40

Re: TRadioGroup - Elemente zentriert ausrichten?
 
Das ist in dem Sinne keine zentrale Ausrichtung. Leg die Groupbox auf ein Panel und richte dieses zentriert auf dem übergeordneten Element aus.

The Riddler 14. Nov 2008 10:42

Re: TRadioGroup - Elemente zentriert ausrichten?
 
Welche Groupbox? Ich habe sowas in der Art bereits versucht, allerdings wird logischerweise nur die RadioGroup zentral ausgerichtet, die Items bleiben stur am linken Rand. Und eben dadurch kann beim Betrachter der Eindruck entstehen, sie gelten nur für die linke Spalte darunter.

Luckie 14. Nov 2008 10:52

Re: TRadioGroup - Elemente zentriert ausrichten?
 
OK, noch mal:
Großes Panel über gesamte Breite -> kleines Panel zentriert im großen Panel -> Radiogroupbox in kleinen Panel

The Riddler 14. Nov 2008 11:05

Re: TRadioGroup - Elemente zentriert ausrichten?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Problem bleibt allerdings, dass ich dann den Rahmen der RadioGroup klein im mittleren kleinen Panel habe. Dann kann ich gleich die RadioGroup klein machen und in die Mitte des Forms legen. Und eben das möchte ich nicht, sondern ich möchte es einfach nur so haben:

Nachteule 14. Nov 2008 13:45

Re: TRadioGroup - Elemente zentriert ausrichten?
 
Liste der Anhänge anzeigen (Anzahl: 1)
nimm doch einfach 3 Radiobuttons und zentriere diese im Panel

Headbucket 23. Dez 2013 08:25

AW: TRadioGroup - Elemente zentriert ausrichten?
 
*altenThreadRauskram*

Hallo zusammen,

ich möchte gerne den selben Aufbau, wie "The Riddler" in seinem letzten Post. Nur möchte ich die drei Radiobuttons nebeneinander haben und dann horizontal ausrichten. Meinetwegen .B. jeweils ein Tab zwischen den Buttons und dann die Gruppe von 3 Buttons horizontal zentrieren. Wie kann ich das am besten bewerkstelligen?

Grüße
Headbucket

zeras 23. Dez 2013 08:29

AW: TRadioGroup - Elemente zentriert ausrichten?
 
Du kannst doch mit den Positionen (.left, .top) der Radioboxen spielen. Reicht das denn nicht aus? Die Abstände kannst du doch berechnen und dann die entsprechenden Werte setzen. Oder aber im schon in der IDE.

Headbucket 23. Dez 2013 08:31

AW: TRadioGroup - Elemente zentriert ausrichten?
 
Ich erzeuge die RadioButtons jedoch dynamisch über RadioGroup1.Items.Add('...');
Für RadioGroup1.Items gibt es leider keine Eigenschaft "left" sondern nur für die gesamte RadioGroup. Oder habe ich irgendwo etwas übersehen?

zeras 23. Dez 2013 08:43

AW: TRadioGroup - Elemente zentriert ausrichten?
 
Jedes Radiogroup hat einen Namen und über diesen kannst du die Eigenschaften ändern. Das sollte doch gehen oder?

Headbucket 23. Dez 2013 08:58

AW: TRadioGroup - Elemente zentriert ausrichten?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe ja aber nur EINE RadioGroup mit drei Buttons drin. Diese möchte ich nebeneinander mittig in der RadioGroup anordnen. Ich häng eben nochmal ein Bild an.
Im Editor ist das natürlich gar kein Problem. Aber wie kann ich das ganze zur Laufzeit machen?

zeras 23. Dez 2013 14:01

AW: TRadioGroup - Elemente zentriert ausrichten?
 
Sorry, hatte mich nicht richtig ausgedrückt. Du kannst jeden Radiobutton ansprechen mit seinem Namen. Dann kannst du auch die Positionen ändern.

Perlsau 24. Dez 2013 00:45

AW: TRadioGroup - Elemente zentriert ausrichten?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Headbucket (Beitrag 1240832)
Ich habe ja aber nur EINE RadioGroup mit drei Buttons drin. Diese möchte ich nebeneinander mittig in der RadioGroup anordnen. Ich häng eben nochmal ein Bild an.
Im Editor ist das natürlich gar kein Problem. Aber wie kann ich das ganze zur Laufzeit machen?

Wenn du eine TRadioGroup verwendest, werden die RadioButtons durch Eintrag ins Property Items erstellt. Das ist eine Stringliste. TRadioGroup stellt keine Möglichkeit zur Verfügung, die Anordnugn der RadioButtons zu verändern. Einzig der vertikale Abstand ändert sich entsprechend der Größe der Komponente und der Anzahl der RadioButtons.

Willst du eine andere Anordnung, dann bietet sich TGroupBox an. Dort hinein setzt du die gewünschte Anzahl der Komponente TRadioButton. Das Verhalten der Buttons sowie die Erscheinung des gesamten Konstrukts (TGroupBox und etliche TRadioButton) ist im Grunde dasselbe wie bei der Komponente TRadioGroup.

Zur Laufzeit mußt du die entsprechenden Komponenten natürlich selbst erzeugen. Die gleichen horizontalen Abstände zwischen den RadioButtons, die du im Editor wunderbar mit dem Abstandswerkzeug herstellst, mußt du zur Laufzeit natürlich selbst berechnen. Und vergiß nicht, den RadioButtons ihren Parent, nämlich die GroupBox, zuzuweisen.

Headbucket 2. Jan 2014 14:40

AW: TRadioGroup - Elemente zentriert ausrichten?
 
Vielen Dank für die Antworten!

Gut zu wissen, dass es mit einer RadioGroup nicht möglich ist. Ich habe es eben mal mit einer GroupBox versucht und siehe da: Es klappt. Super!
Leider habe ich so auch etwas mehr Quellcode aber das lässt sich wohl nicht vermeiden.

Damit ist mein Problem aber erstmal gelöst und so kann der Thread in seinen verdienten Ruhestand geschickt werden ;-).


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz