Hallo,
eine Möglichkeit ist hier in der Code-Library beschrieben:
Wert einer Checkbox ändern, ohne OnClick Handler auszulösen
Eine weitere Möglichkeit wird in einem Beitrag in der Entwickler-Ecke/Code-Library aufgezeigt:
Abhängigkeit mehrerer Checkboxen
Die dritte Möglichkeit besteht darin die CheckBox auf 'gechecked' zu setzen ohne die Eigenschaft Checked zu verändern, OnClick wird hierbei nicht ausgelöst:
CheckBox1.Perform(BM_SETCHECK,1,0);
'gechecked' aufheben:
CheckBox1.Perform(BM_SETCHECK,0,0);
Da aber die Eigenschaft Checked nicht verändert wird,
kann folgende Abfrage nicht mehr genutzt werden:
Delphi-Quellcode:
if CheckBox1.Checked then
//...
Zur Statusabfrage muss dann folgendes genutzt werden:
Delphi-Quellcode:
if CheckBox1.Perform(BM_GETCHECK,0,0) = BST_CHECKED then
showmessage('checked')
else
showmessage('not checked');