Checkboxen und Radiobuttons erzeugen


Auch Checkboxen und Radiobuttons sind im Grunde nur Schaltflächen, nur dass sie zusätzliche Stileigenschaften aufweisen, die sie von gewöhnlichen Buttons unterscheiden.

Eine Checkbox erstellt man mit dem Stil BS_CHECKBOX oder BS_AUTOCHECKBOX. Der Unterschied besteht darin, dass sich der Programmierer beim Stil BS_CHECKBOX selbst darum kümmern muss, ob die Checkbox markiert oder nicht markiert dargestellt wird. Das Beispielprogramm benutzt diesen Stil, um zu zeigen wie man den Status abfragt und ändert:

hwndChkBox := CreateWindowEx(0, 'BUTTON', 'Checkbox', WS_VISIBLE or
  WS_CHILD or {neuer Stil ->} BS_CHECKBOX, 10, 20, 90, 25, hWnd, IDC_CHKBOX,
  hInstance, nil);


Der Code für einen Radiobutton sieht ähnlich aus; natürlich werden ein anderer Klassenname und andere Stilattribute verwendet. Hier habe ich übrigens den Stil BM_AUTORADIOBUTTON gewählt. Damit kümmert sich dann das System um die Anzeige des Status. Allerdings müssen sich die benutzten Radiobuttons dann in der gleichen Gruppe befinden:

hwndOpt1 := CreateWindowEx(0, 'BUTTON', 'Radiobutton1', WS_VISIBLE or
  WS_CHILD or {neuer Stil ->} BS_AUTORADIOBUTTON, 25, 75, 125, 25, hWnd, IDC_OPT1,
  hInstance, nil);