WM_SETCURSOR message

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

Parameters

wParam

A handle to the window that contains the cursor.

lParam

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.

Return value

If an application processes this message, it should return TRUE to halt further processing or FALSE to continue.

Remarks

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.

Requirements

Requirement Value
Minimum supported client
Windows 2000 Professional [desktop apps only]
Minimum supported server
Windows 2000 Server [desktop apps only]
Header
Winuser.h (include Windows.h)

See also

Reference

DefWindowProc

HIWORD

LOWORD

Conceptual

Cursors