The following table describes the button styles an application can use when creating button controls:
┌───────────────────┬─────────────────────────────────────────┐ │Style │Description. │ ├───────────────────┼─────────────────────────────────────────┤ │BS_3STATE │Creates a three-state check box (see also│ │ │BS_CHECKBOX). When the user selects the │ │ │check box, it sends a WM_CONTROL message │ │ │to the owner window. The owner should │ │ │set the check box to the appropriate │ │ │state: selected, unselected, or halftone.│ ├───────────────────┼─────────────────────────────────────────┤ │BS_AUTO3STATE │Creates an auto-three-state check box │ │ │(see also BS_CHECKBOX). When the user │ │ │selects the check box, the system │ │ │automatically sets the check box to the │ │ │appropriate state: selected, unselected, │ │ │or halftone. │ ├───────────────────┼─────────────────────────────────────────┤ │BS_AUTOCHECKBOX │Creates an auto-check box (see also │ │ │BS_CHECKBOX). The system automatically │ │ │toggles the check box between the │ │ │selected and unselected states each time │ │ │the user selects the box. │ ├───────────────────┼─────────────────────────────────────────┤ │BS_AUTORADIOBUTTON │Creates an auto-radio button (see also │ │ │BS_RADIOBUTTON). When the user selects an│ │ │auto-radio button, the system │ │ │automatically selects the button and │ │ │removes the selection from the other │ │ │auto-radio buttons in the group. │ ├───────────────────┼─────────────────────────────────────────┤ │BS_AUTOSIZE │Creates a button that is sized │ │ │automatically to ensure that the contents│ │ │fit. Note: The cx or cy parameter of │ │ │WinCreateWindow must be specified as -1 │ │ │to implement the autosize feature. │ ├───────────────────┼─────────────────────────────────────────┤ │BS_BITMAP │Creates a push button containing a bit │ │ │map instead of text. This style can only │ │ │be implemented with BS_PUSHBUTTON. │ ├───────────────────┼─────────────────────────────────────────┤ │BS_CHECKBOX │Creates a check box-a small square that │ │ │has text displayed to its right. When │ │ │the user selects a check box, the check │ │ │box sends a WM_CONTROL message to the │ │ │owner window. The owner window should │ │ │toggle the check box between selected and│ │ │unselected states. │ ├───────────────────┼─────────────────────────────────────────┤ │BS_DEFAULT │Creates a push button that has a heavy │ │ │black border. The user can select this │ │ │push button by pressing the spacebar. │ │ │This style is useful for letting the user│ │ │quickly select the most likely set of │ │ │options in a dialog window. This style │ │ │is valid only in combination with the │ │ │BS_PUSHBUTTON style or the PUSHBUTTON │ │ │statement in a resource-definition file. │ ├───────────────────┼─────────────────────────────────────────┤ │BS_HELP │Creates a push button that posts a │ │ │WM_HELP message (instead of a WM_COMMAND │ │ │message) to its owner window when the │ │ │user selects the button. This style is │ │ │valid only in combination with the │ │ │BS_PUSHBUTTON style or the PUSHBUTTON │ │ │statement in a resource-definition file. │ ├───────────────────┼─────────────────────────────────────────┤ │BS_ICON │Creates a push button containing an icon │ │ │instead of text. │ ├───────────────────┼─────────────────────────────────────────┤ │BS_MINIICON │Creates a push button containing a │ │ │mini-icon instead of text. │ ├───────────────────┼─────────────────────────────────────────┤ │BS_NOBORDER │Creates a push button that has no border.│ │ │This style is valid only in combination │ │ │with the BS_PUSHBUTTON style or the │ │ │PUSHBUTTON statement in a │ │ │resource-definition file. │ ├───────────────────┼─────────────────────────────────────────┤ │BS_NOCURSORSELECT │Creates an auto-radio button that will │ │ │not be selected automatically when the │ │ │user moves the cursor to the button using│ │ │the cursor-movement keys. This style is │ │ │valid only in combination with the │ │ │BS_AUTORADIOBUTTON style or the │ │ │AUTORADIOBUTTON statement in a │ │ │resource-definition file. │ ├───────────────────┼─────────────────────────────────────────┤ │BS_NOPOINTERFOCUS │Creates a radio button or check box that │ │ │does not receive the keyboard focus when │ │ │the user selects it. This style is valid │ │ │in combination with the │ │ │BS_AUTORADIOBUTTON, BS_RADIOBUTTON, │ │ │BS_3STATE, BS_AUTO3STATE, │ │ │BS_AUTOCHECKBOX, and BS_CHECKBOX styles, │ │ │or the AUTORADIOBUTTON, RADIOBUTTON, │ │ │AUTOCHECKBOX, or CHECKBOX statements in a│ │ │resource-definition file. │ ├───────────────────┼─────────────────────────────────────────┤ │BS_NOTEBOOKBUTTON │Creates a notebook button, which is │ │ │identical to a pushbutton except that │ │ │when it is created as a child of a │ │ │notebook page it becomes a button in the │ │ │common button area of the notebook page. │ │ │If the button is not in a notebook page │ │ │it will be indistinguishable from a │ │ │pushbutton. │ ├───────────────────┼─────────────────────────────────────────┤ │BS_PUSHBUTTON │Creates a push button-a round-cornered │ │ │rectangle with text displayed inside it. │ │ │When selected, the push button posts a │ │ │WM_COMMAND message to its owner window. │ ├───────────────────┼─────────────────────────────────────────┤ │BS_RADIOBUTTON │Creates a radio button-a small circle │ │ │that has text displayed to its right. │ │ │Radio buttons usually are used in groups │ │ │of related, but exclusive, choices. When│ │ │the user selects a radio button, the │ │ │button sends a WM_CONTROL message to its │ │ │owner window. The user should select the│ │ │button and remove the selection from the │ │ │other radio buttons in the group. │ ├───────────────────┼─────────────────────────────────────────┤ │BS_SYSCOMMAND │Creates a button that posts a │ │ │WM_SYSCOMMAND message (instead of a │ │ │WM_COMMAND message) to the owner window │ │ │when the user selects the button. This │ │ │style is valid only in combination with │ │ │the BS_PUSHBUTTON style or the PUSHBUTTON│ │ │statement in a resource-definition file. │ ├───────────────────┼─────────────────────────────────────────┤ │BS_TEXT │Creates a push button containing both │ │ │text and icons/mini-icons. │ ├───────────────────┼─────────────────────────────────────────┤ │BS_USERBUTTON │Creates a user-defined button that sends │ │ │a WM_CONTROL message to the owner window │ │ │when the button needs to be drawn, │ │ │highlighted, or disabled. A user-defined│ │ │button also posts WM_COMMAND messages to │ │ │the owner window when the user selects │ │ │the button. │ └───────────────────┴─────────────────────────────────────────┘