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 坐标
使用
通过偏移量,获取滚动的方向和距离