WM_SETCURSOR

The WM_SETCURSOR message is sent to a window if the mouse causes the cursor to move within a window and mouse input is not captured.

WM_SETCURSOR 
hwnd = (HWND) wParam;       // handle to window with cursor 
nHittest = LOWORD(lParam);  // hit-test code 
wMouseMsg = HIWORD(lParam); // mouse-message identifier 
 

Parameters

hwnd
Value of wParam. Handle to the window that contains the cursor.
nHittest
Value of the low-order word of lParam. Specifies the hit-test code.
wMouseMsg
Value of the high-order word of lParam. Specifies the identifier of the mouse message.

Default Action

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.

Remarks

The high-order word of lParam is zero when the window enters menu mode.

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in winuser.h.

See Also

Cursors Overview, Cursor Messages, DefWindowProc, MessageBeep