An application sends a BM_GETSTATE message to determine the state of a button or check box.
BM_GETSTATE wParam = 0; // not used; must be zero lParam = 0; // not used; must be zero
This message has no parameters.
The return value specifies the current state of the button. You can use the following bitmasks to extract information about the state:
Value |
Meaning |
0x0003 |
Specifies the check state (radio buttons and check boxes only). A value of BST_UNCHECKED indicates the button is unchecked; a value of BST_CHECKED indicates the button is checked. A radio button is checked when it contains a dot; a check box is checked when it contains an X. A value of BST_INDETERMINATE indicates the check state is indeterminate (applies only if the button has the BS_3STATE or BS_AUTO3STATE style). A three-state check box is grayed when its state is indeterminate. |
BST_CHECKED |
Indicates the button is checked. |
BST_FOCUS |
Specifies the focus state. A nonzero value indicates that the button has the keyboard focus. |
BST_INDETERMINATE |
Indicates the button is grayed because the state of the button is indeterminate. This value applies only if the button has the BS_3STATE or BS_AUTO3STATE style. |
BST_PUSHED |
Specifies the highlight state. A nonzero value indicates that the button is highlighted. A button is automatically highlighted when the user positions the cursor over it and presses and holds the left mouse button. The highlighting is removed when the user releases the mouse button. |
BST_UNCHECKED |
Indicates the button is unchecked. Same as the Windows NT return value of zero. |