Sent to a window if the mouse causes the cursor to move within a window and mouse input is not captured.
#define WM_SETCURSOR 0x0020
A handle to the window that contains the cursor.
The low-order word of lParam specifies the hit-test result for the cursor position. See the return values for WM_NCHITTEST for possible values.
The high-order word of lParam specifies the mouse window message which triggered this event, such as WM_MOUSEMOVE. When the window enters menu mode, this value is zero.
If an application processes this message, it should return TRUE to halt further processing or FALSE to continue.
The DefWindowProc function passes the WM_SETCURSOR message to a parent window before processing. If the parent window returns TRUE, further processing is halted. Passing the message to a window's parent window gives the parent window control over the cursor's setting in a child window. The DefWindowProc function also uses this message to set the cursor to an arrow if it is not in the client area, or to the registered class cursor if it is in the client area. If the low-order word of the lParam parameter is HTERROR and the high-order word of lParam specifies that one of the mouse buttons is pressed, DefWindowProc calls the MessageBeep function.
|Minimum supported client
||Windows 2000 Professional [desktop apps only]
|Minimum supported server
||Windows 2000 Server [desktop apps only]