首页  >  文章  >  运维  >  Win32 SDK基础(十三)之键盘和鼠标消息的详细介绍

Win32 SDK基础(十三)之键盘和鼠标消息的详细介绍

黄舟
黄舟原创
2017-06-06 10:13:013963浏览

一、键盘消息

1、键盘消息

WM_KEYDOWN —— 键盘按键按下时产生。

WM_KEYUP —— 键盘按键弹起时产生。

WM_SYSKEYDOWN —— 系统按键按下时产生,如ALT、F10等等

WM_SYSKEUP —— 系统放开时产生

WM_CHAR —— 字符消息

2、消息参数:

按键消息:

WPARAM —— 按键的VirtualKey(虚拟键码)

LPARAM —— 按键的参数,如按下的次数

WM_CHAR:

WPARAM —— 输入的字符(ASCII编码)

LPARAM —— 按键的相关参数

3、消息的使用:

(1)KEYDOWN可以重复消息,KEYUP只能在按键松开时出现一次

(2)TranslateMessage在转换WM_KEYDOWN消息时,对于可见字符可以产生WM_CHAR,不可见字符无此消息。

二、鼠标消息

1、基本鼠标消息

WM_LBUTTONDOWN —— 鼠标左键按下

WM_LBUTTONUP —— 鼠标左键弹起

WM_RBUTTONDOWN —— 鼠标右键按下

WM_RBUTTONUP —— 鼠标右键弹起

WM_MOUSEMOVE —— 鼠标移动消息

1.1 消息参数

WMPARAM —— 其他按键的状态,例如Ctrl/Shift等

LPARAM —— 鼠标的位置,窗口客户区的坐标系。

LOWORD X坐标位置

HIWORD Y坐标位置

1.2 鼠标消息的使用

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

2、双击消息

WM_LBUTTONDBLICLK —— 鼠标左键双击

WM_RBUTTONDBLICLK —— 鼠标右键双击

2.1 消息参数

WMPARAM —— 其他按键的状态,例如Ctrl/Shift等

LPARAM —— 鼠标的位置,窗口客户区的坐标系。

LOWORD X坐标位置

HIWORD Y坐标位置

使用时需要在注册窗口类的时候添加CS_DBLCLS风格,消息产生的顺序:

WM_LBUTTONDOWN

WM_LBUTTONUP

WM_LBUTTONDBLCLK

WM_LBUTTONUP

3、滚轮消息

WM_MOUSEWHEEL —— 鼠标滚轮消息

3.1 消息参数

WMPARAM —— 其他按键的状态

HIWORD —— 滚轮的偏移量,是120的倍数,通过正负极表示滚动的方向。

正:向前滚动

负:向后滚动

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

LOWORD X坐标位置

HIWORD Y坐标位置

以上是Win32 SDK基础(十三)之键盘和鼠标消息的详细介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn