An application sends a BM_SETSTATE message to change the highlight state of a button. The highlight state indicates whether the button is highlighted as if the user had pushed it.
BM_SETSTATE wParam = (WPARAM) fState; // highlight state lParam = 0; // not used; must be zero
This message always returns zero.
Highlighting only affects the appearance of a button. It has no effect on the check state of a radio button or check box.
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.