Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Problem mit Radiogroup: Erkennen welcher Button gedrückt ist
Theo51 - Mi 05.03.14 21:37
Titel: Problem mit Radiogroup: Erkennen welcher Button gedrückt ist
Hallo,
ganz kurz und dringend:
Ich habe ein Quiz erstellt, in welchem man durch Buttons in einer Radiogroup die richtige Lösung auswählt.
Wie kann ich nun überprüfen ob die richtige Antwort ausgewählt wurde? Das muss doch eigentlich total einfach sein oder?
Bitte helft mir. vielen Dank
Delete - Mi 05.03.14 22:18
Property ItemIndex
gerd8888 - Mi 05.03.14 22:28
Delphi-Quelltext
1:
| if sender = button1 then .... |
Delete - Mi 05.03.14 22:33
Mit Verlaub, aber das ist Quatsch! Es geht hier doch nicht um TButton, sondern um die Knöpfe in einer TRadioGroup. Wenn du im OI diverse Items festgelegt hast und danach dem ItemIndex z.B. 0 zuweist, ist der erste "Button" gedrückt. Umgekehrt läßt sich mit der Abfrage von ItemIndex auslesen, welcher "Button" gedrückt ist. Bekanntlich kann in einer TRadioGroup immer nur ein "Button" gedrückt sein; davon ist der Typ RadioGroup auch abgeleitet: Wie bei einem Radio kannst du immer nur einen einzigen aller empfangbaren Sender einstellen.
gerd8888 - Mi 05.03.14 22:52
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.RadioGroup1click(); begin case radiogroup1.itemindex of 0: begin end; 1: begin end; end; end; |
wahrscheinlich ist das so besser.
WasWeißDennIch - Do 06.03.14 10:12
Kleine Anmerkung: das Auswerten des ItemIndex einer RadioGroup funktioniert nur dann, wenn man die RadioButtons auch über die Items-Eigenschaft der RadioGroup definiert. Geht man her und zieht sie händisch aus der Komponentenpalette auf die RadioGroup, klappt das nicht.
baumina - Do 06.03.14 10:27
WasWeißDennIch hat folgendes geschrieben : |
Kleine Anmerkung: das Auswerten des ItemIndex einer RadioGroup funktioniert nur dann, wenn man die RadioButtons auch über die Items-Eigenschaft der RadioGroup definiert. Geht man her und zieht sie händisch aus der Komponentenpalette auf die RadioGroup, klappt das nicht. |
Eine TRadioGroup ist kein Container wie z.B. TGroupBox oder TPanel, kann also niemals Parent einer Komponente werden. Händisch da was draufziehen schafft man nicht. Der RadioButton würde immer nur auf dem selben Parent wie die RadioGroup landen.
WasWeißDennIch - Do 06.03.14 10:40
Und das kannst Du optisch unterscheiden? Übrigens ist die RadioGroup von TCustomGroupBox abgeleitet, könnte theoretisch also sehr wohl der Parent werden, nur muss man das per Code machen, innerhalb der IDE gibt es Mechanismen, die das verhindern (namentlich: Ändern des ControlStyle im Konstruktor und Entfernen des Styles csAcceptsControls).
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!