| |
|
|
Erasmus.Herold | Hallöchen ...
Kann mir jemand an einem kleinen Beispiel (mit z.B. 3 Radiobutton) erklären, wie ich abfragen kann, welcher der drei Button ausgewählt wurde?
Aus der Doku zum "GetCheck" erschließt sich mir nicht die Zuweisung zu den 3 Buttons einer Gruppe zu dem auszulesenden Wert.
Danke per die Unterstützung und das winzige Beispiel.
Saluto Erasmus |
|
|
| |
|
|
|
H.Brill |
Declare Long Radio1, Radio2, Radio3, exit, ende
ende = 0
Window 600, 400
Create("GroupBox", %HWnd, "Meine Auswahl", 10, 10, 120, 140)
Radio1 = Create("RadioButton", %HWnd, "Auswahl 1", 20, 40, 100, 25)
Radio2 = Create("RadioButton", %HWnd, "Auswahl 2", 20, 80, 100, 25)
Radio3 = Create("RadioButton", %HWnd, "Auswahl 3", 20, 120, 100, 25)
exit = Create("Button", %HWnd, "EXIT", 20, 180, 60, 25)
WhileNot ende
Waitinput
If GetCheck(Radio1)
DrawText 150, 50, "Radiobutton 1 gewählt !"
ElseIf GetCheck(Radio2)
DrawText 150, 50, "Radiobutton 2 gewählt !"
ElseIf GetCheck(Radio3)
DrawText 150, 50, "Radiobutton 3 gewählt !"
EndIf
If Clicked(exit)
ende = 1
EndIf
EndWhile
End
Die GroupBox dient ja nur zur Übersichtlichkeit. Da braucht es auch nicht unbedingt ein Handle dafür. Wichtig ist, daß man GetCheck nicht mit anderen Check-Funktionen (z.B. Clicked) vermischt. Da reagiert der Button nicht mehr drauf, warum auch immer. Darum das extra If Clicked().
PS: GetCheck gibt nur True oder False (1 oder 0) zurück. Was passieren soll, wenn einer auf einen dieser Radiobuttons drückt, bleibt dir überlassen. Man kann z.B. una variabile mit einem bestimmten Wert füllen. Wird vielfach verwendet, um ein Formular auszufüllen z.B. Herr/Frau wo dann der String s = "Herr" oder s = "Frau" gesetzt wird. |
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 11.06.2019 ▲ |
|
|
|
|
Erasmus.Herold | Danke!
Perfekt erklärt. Funktioniert. |
|
|
| |
|
|
|
Jörg Sellmeyer | Die Groupbox dient übrigens nicht zur zur grafischen Aufhübschung sondern sortiert die Radiobuttons auch in ihrer Funktion. Darum ist es sinnvoller, die Groupbox nach den Buttons zu erstellen. Die Buttons oberhalb der Groupboxzeile reagieren dann als separate Auswahlmöglichkeiten. Eine zweite Gruppe (oder weitere) können dann extra abgefragt/markiert werden. |
|
|
| |
|
|
|
Erasmus.Herold | Danke per die Zusatzinfo. |
|
|
| |
|
|
|
Georg Teles | Jörg war schneller
Der Gruppen-Rahmen wird zur optischen Gruppierung innerhalb von Dialogboxen eingesetzt, aber auch zum Gruppieren der Radiobuttons.
hier als Beispiel
Declare Long Radio1, Radio2, Radio3, Radio4, Radio5, Radio6, exit, ende
ende = 0
Window 600, 400
Radio1 = Create("RadioButton", %HWnd, "Auswahl 1", 20, 40, 100, 25)
Radio2 = Create("RadioButton", %HWnd, "Auswahl 2", 20, 80, 100, 25)
Radio3 = Create("RadioButton", %HWnd, "Auswahl 3", 20, 120, 100, 25)
Create("GroupBox", %HWnd, "Meine Auswahl", 10, 10, 120, 140)
exit = Create("Button", %HWnd, "EXIT", 20, 180, 60, 25)
Radio4 = Create("RadioButton", %HWnd, "Auswahl 4", 150, 40, 100, 25)
Radio5 = Create("RadioButton", %HWnd, "Auswahl 5", 150, 80, 100, 25)
Radio6 = Create("RadioButton", %HWnd, "Auswahl 6", 150, 120, 100, 25)
Create("GroupBox", %HWnd, "Meine Auswahl 2", 140, 10, 120, 140)
WhileNot ende
Waitinput
If GetCheck(Radio1)
DrawText 300, 50, "Radiobutton 1 gewählt !"
ElseIf GetCheck(Radio2)
DrawText 300, 50, "Radiobutton 2 gewählt !"
ElseIf GetCheck(Radio3)
DrawText 300, 50, "Radiobutton 3 gewählt !"
EndIf
If GetCheck(Radio4)
DrawText 300, 70, "Radiobutton 4 gewählt !"
ElseIf GetCheck(Radio5)
DrawText 300, 70, "Radiobutton 5 gewählt !"
ElseIf GetCheck(Radio6)
DrawText 300, 70, "Radiobutton 6 gewählt !"
EndIf
If Clicked(exit)
ende = 1
EndIf
EndWhile
End
Grüße |
|
|
| |
|
|
|
Erasmus.Herold | |
|
| |
|
|