Hallo,
Ich will wenn ein Radiobutton umgeschaltet wird, eine Aktion auslösen.
Das funktioniert mit OnChange für jeden Button.
Ich will das aber mit RadioGroup1SelectionChanged tun; also mit 1 Procedur für die ganze Gruppe statt mit je 1er für jeden Button.
Geht das damit?
Wernkrau38
Steuerung Radiobutton
-
- Beiträge: 28
- Registriert: Di 8. Mär 2016, 11:46
- OS, Lazarus, FPC: Windows10
- CPU-Target: Win64
Steuerung Radiobutton
- Dateianhänge
-
- project1.zip
- (3.09 KiB) 144-mal heruntergeladen
Re: Steuerung Radiobutton
Du hast in jede RadioButtonGroup mehrere einzelne Radiobuttons gesetzt. Das funktioniert zwar, ist aber so nicht gedacht. Stattdessen gehst du zur Eigenschaft Items und trägst die Beschriftung der einzelnen RadioButtons ein. Die Buttons werden dann automatisch erzeugt und platziert, wobei du die Platzierung mit den Eigenschaften AutoFill, Columns, Columnlayout beeinflussen kannst. Auf den markierten Radiobutton kannst du mit ItemIndex zugreifen (wie bei einer Listbox). Ein OnChange-Ereignis gibt es hier nicht, dafür macht das OnClick alles.
-
- Beiträge: 28
- Registriert: Di 8. Mär 2016, 11:46
- OS, Lazarus, FPC: Windows10
- CPU-Target: Win64
Re: Steuerung Radiobutton
Danke, das funktioniert!
Aber: wofür ist das event OnSelectionChanged aus der Radiogroup zu gebrauchen?
mfg, Wernkrau38
Aber: wofür ist das event OnSelectionChanged aus der Radiogroup zu gebrauchen?
mfg, Wernkrau38
Re: Steuerung Radiobutton
Das kannst du auch nehmen, beide verhalten sich identisch. OnClick ist Delphi-kompatibel, hat aber die unerwartete Eigenschaft, dass es auch gefeuert wird, wenn man einen anderen Button per Code einstellt (z.B. RadioGroup.ItemIndex := 2), also wenn gar nicht geklickt wurde. Um das klarer zu bezeichnen, wurde OnSelectionChanged eingeführt, man musste aber das Delphi-kompatible OnClick beibehalten.