Win32 鼠标消息

kk724

·

2023-09-15 00:57:40

·

个人记录

鼠标消息

鼠标消息分类

基本鼠标消息

WM_LBUTTONDOWN - 鼠标左键按下

WM_LBUTTONUP - 鼠标左键抬起

WM_RBUTTONDOWN - 鼠标右键按下

WM_RBUTTONUP - 鼠标右键抬起

WM_MOUSEMOVE - 鼠标移动消息

双击消息

WM_LBUTTONDBLCLK - 鼠标左键双击

WM_RBUTTONDBLCLK - 鼠标右键双击

滚轮消息

WM_MOUSEWHEEL - 鼠标滚轮消息

鼠标基本消息

附带信息:

wPARAM: 其他按键的状态,例如 Ctrl/Shift 等

lPARAM: 鼠标的位置,窗口客户区坐标系。

LOWORD(lParam) X 坐标位置

HIWORD(lParam) Y 坐标位置

一般情况鼠标按下/抬起成对出现。在鼠标移动过程中,会根据移动速度产生一系列的 WM_MOUSEMOVE 消息

WM_MOUSEMOVE 鼠标移动得快产生得少,移动得慢产生得多

鼠标双击消息

附带信息:

wPARAM: 其他按键的状态,例如 Ctrl/Shift 等

lPARAM: 鼠标的位置,窗口客户区坐标系。

LOWORD(lParam) X 坐标位置

HIWORD(lParam) Y 坐标位置

消息产生顺序

以左键双击为例:

WM_LBUTTONDOWN

WM_LBUTTONUP

WM_LBUTTONDBLCLK

WM_LBUTTONUP

使用时需要再注册窗口类的时候添加 CS_DBLCLKS 风格

鼠标滚轮消息

附带信息

wPARAM:

LOWORD - 其他按键的状态

HIWORD - 滚轮的偏移量,通过正负值表示滚动方向,正:向前,负:向后

lPARAM: 鼠标当前的位置,屏幕坐标系

LOWORD - X 坐标

HIWORD - Y 坐标

使用

通过偏移量,获取滚动的方向和距离