Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Problem mit zwei Checkboxen


ak - Mo 18.08.03 20:12
Titel: Problem mit zwei Checkboxen
Hallo Leute,

ich habe zwei Checkboxen. Wenn ich eine Checkbox anklicke muss die andere Checkbox (wenn sie ein Häckchen hat) ihr Häkchen "verlieren". Wenn ich in der onclick prozedur der beiden checkboxen das häkchen aus der jeweils anderen Checkbox entferne bekomme ich mein Häkchen in der angeklickten Checkbox erst beim 2. mal anklicken. Wie kann ich das mit einem Klick erreichen ohne in eine Endlosschleife zu gelangen, welche das Programm beendet.


UGrohne - Mo 18.08.03 20:15

Indem Du RadioButtons verwendest und den GroupIndex auf denselben Wert setzt, denn genau dafür sind die Dinger da :wink:


Delete - Mo 18.08.03 20:15

Auf die Schnelle würde ich behaupten, du darfst nicht so arbeiten

Delphi-Quelltext
1:
checkbox2.Checked := not CheckBox1.Checked;                    

So

Delphi-Quelltext
1:
if CheckBox1.Checked then CheckBox2.Checked := false;                    

(bzw. umgekehrt für die andere Box) gibt´s keine Endlosschleife.


ak - Mo 18.08.03 20:33

@UGrohne, in diesem Fall müssen es aber Checkboxen sein, habe es jetzt trotzdem hinbekommen, wie Mathias es auch sagte. thanx


StefanH - Di 19.08.03 12:06

Geht das?
Ich glaub nicht, denn:
Delphi Hilfe hat folgendes geschrieben:

onClick
...
onClick trit auf wenn:
...
Der Wert der Eigenschaft Checked eines Kontrollfeldes wird geändert.
...



Stefan


ak - Di 19.08.03 22:55

klar geht das, wenn ich eine Checkbox anklicke, wird sie "gecheckt" oder eben "entcheckt", wenn die box "gecheckt" ist wird die andere Box auf checked:= false gesetzt. thats all