Einzelnen Beitrag anzeigen

Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#6

AW: Merkwürdiges Verhalten einer Radiogroup

  Alt 10. Apr 2012, 21:41
Die RadioGroup reagiert eben auf das Selektieren.

Und da es kein OnSelectionChange gibt, wird diese Änderung eben über das OnClick behandelt.
Solange ich mich erinnern kann, ist das schon so.
Sinnvoll finde ich dieses Verhalten auch nicht, da gebe stahli recht. Es lag ja definitiv keine Nutzereingabe ("erkennbarer Wille") vor, die Radiogroup angeklickt zu haben. Mit dem Verändern des Fokus (diesen auf das Formular umgeleitet) ließ sich dieses elende Verhalten allerdings beseitigen.

Außerdem ist bei Radioboxen standardmäßig immer ein Eintrag ausgewählt.
Und damit ist ein OnClick nur über einen anderes aktivierten Eintrag möglich. Zweimal hintereinander beim gleichen Eintrag ist nicht möglich. Dazu eben benötigte ich das Ein"nullen" der Radiobox.

Will man ein Anderes Verhalten, dann währen TCheckBoxen die bessere alternative, anstatt ein Standardverhalten zu ändern.
Beim Checken einer CheckBox kann man Andere ja disablen oder unchecken.
Mit viel zusätzlichem "Rumgemachche" (zusätzlicher Code mit entsprechendem Fehlerpotential) ist das natürlich möglich. Letztlich kann man sich aus vielen CheckBoxen auch eine Art RadioGroup basteln. Doch auch dort muß, wenn man zweimal hintereinander den gleichen Eintrag auswählen möchte, zwischenzeitlich wieder eingenullt werden (was wiederum erfordert, das auftretende OnClick abzufangen). Natürlich läßt sich alles über einen einzigen zusätzlichen Button regeln, doch der erfordert zusätzlichen Platz auf dem Formular, eine zusätzliche Eingabe (OnClick) und letztlich auch zusätzlichen Code.
  Mit Zitat antworten Zitat