3.03 鼠标消息
鼠标消息分类
● 鼠标基本消息
- VM_LBUTTONDOWN: 鼠标左键按下
- VM_LBUTTONUP: 鼠标左键拾起
- VM_RBUTTONDOWN: 鼠标右键按下
- VM_RBUTTONUP: 鼠标右键抬起
- VM_MOUSEMOVE: 鼠标移动消息
● 鼠标双击消息
- VM_LBUTTONDBLCLK: 鼠标左键双击
- VM_RBUTTONDBLCLK: 鼠标右键双击
● 鼠标滚轮消息
VM_MOUSEWHEEL: 鼠标滚轮消息
基本消息附带信息
- NPARAM:其他按键的状态,例如 Ctrl/Shift 等
- lParam:鼠标的位置,窗口客户区坐标系。
- LOWORD X 坐标位置
- HIWORD Y 坐标位置
一般情况鼠标按下/拾起成对出现。在鼠标移动过程中,会根据移动速度产生一系列的 VM_MOUSEMOVE 消息。
双击消息附带信息
- NPARAM:其他按键的状态,例如 Ctrl/Shift 等
- lParam:鼠标的位置,窗口客户区坐标系。
- LOWORD X 坐标位置
- HIWORD Y 坐标位置
● 消息产生顺序 以左键双击为例:
- WM_LBUTTONDOWN
- WM_LBUTTONUP
- WM_LBUTTONDBLCLK
- WM_LBUTTONUP
使用时需要在注册窗口类的时候添加 CS_DBLCLKS 风格。
滚轮附带消息
- WPARAM:
- LOWORD: 其他按键的状态
- HIWORD: 滚轮的偏移量,通过正负值表示表示滚动方向。(正:向前滚动 负:向后滚动)
- lPARAM:鼠标当前的位置,屏幕坐标系
- LOWORD: X 坐标
- HIWORD: Y 坐标
使用:通过偏移量,获取滚动的方向和距离。