Das Klickereignis von Checkboxen und Radiobuttons


Das Markieren oder Entfernen der Markierung entspricht wieder einem ganz normalen Button-Klickereignis und wird daher auch über "WM_COMMAND" bearbeitet. Der Status wird mit der Button-Nachricht "BM_GETCHECK" abgefragt. Rückgabewert ist dann entweder BST_CHECKED (Haken gesetzt) oder BST_UNCHECKED (Haken entfernt). Im Beispiel wird das Ergebnis einer bool-Variablen zugeordnet

bCBFlag := (SendMessage(hwndChkBox,BM_GETCHECK,0,0) = BST_CHECKED);

und in negierter Form an die Checkbox zurückgegeben, um den Status mit der Nachricht "BM_SETCHECK" zu ändern:

SendMessage(hwndChkBox,BM_SETCHECK,CheckFlags[not(bCBFlag)],0);


Bei Radiobuttons ist ebenso vorzugehen, denn sie senden und empfangen die selben Nachrichten wie Checkboxen.