WM_MOUSEMOVE消息在鼠标移动时被发送至已获焦点的窗口。
#define WM_MOUSEMOVE 0x0200
wParam
该参数告诉你各个虚拟键有没有被按下,可能包含多个下列值:
MK_CONTROL(0x0008) CTRL键被按下
MK_LBUTTON(0x0001) 鼠标左键被按下
MK_MBUTTON(0x0010) 鼠标中键被按下
MK_RBUTTON(0x0002) 鼠标右键被按下
MK_SHIFT(0x0004) SHIFT键被按下
MK_XBUTTON1(0x0020) 第一个 X 按钮被按下
MK_XBUTTON2(0x0040) 第二个 X 按钮被按下lParam
这是一个32位整数型参数。
低16位表示相对于客户区左上角的 X 坐标
高16位表示相对于客户区左上角的 Y 坐标
如果这个消息被程序处理,返回值必须为0
使用下面的代码获取的水平和垂直位置:
xPos = GET_X_LPARAM(lParam); yPos = GET_Y_LPARAM(lParam);
你也可以使用 MAKEPPINT 宏指令把 lParam 转化成 POINT 结构