Mensaje WM_SETCURSORS
Definición
WM_SETCURSOR hwnd = (HWND) wParam; // manipulador de la ventana con el cursor nHittest = LOWORD(lParam); // código de hit-test wMouseMsg = HIWORD(lParam); // identificador de mensaje de ratón
El mensaje WM_SETCURSOR se envía a una ventana si el ratón hace que el cursor se mueva dentro de ella y la entrada del ratón no se ha capturado.
Descripción
hwnd: valor de wParam. Identifica la venatara que contiene el cursor.
nHittest: valor de la palabra de menor peso de lParam. Especifica el código hit-test.
wMouseMsg: valor de la palabra de mayor peso de lParam. Especifica el identificador del mensaje de ratón.
Acción por defecto
La función DefWindowProc pasa el mensaje WM_SETCURSOR a la ventana padre antes de procesarlo. Si la ventana padre devuelve TRUE, cualquier proceso posterior se detiene. Pasando el mensaje a una ventana padre se le da el control del cursor en la ventana hija. La función DefWindowProc también usa este mensaje para cambiar el cursor por una flecha si no está en el área de cliente, o al cursor de la clase registrada si está en el área de cliente. Si la palabra de menor peso del parámetro lParam es HTERROR y la de mayor peso especifica que uno de los botones del ratón está presionado, DefWindowProc llama a la función MessageBeep.
Observaciones
La palabra de mayor peso de lParam es cero cuando al ventana entra en modo de menú.