捐助郴维网
感谢您对郴维网的支持,你的支持将是郴维网持续发展的动力!
二维码
×
当前位置:郴维网 >API档案 > 正文
30 2017.05

WM_MOUSEWHEEL 消息

点击次数:1332 更新时间:2017-5-30 13:17:58  【打印此页

原文链接 -> 传送门

消息含义:

当滑动鼠标滚轮,WM_MOUSEWHEEL 消息被发送到焦点窗口。DefWindowProc 函数传送该消息给父窗口。从 DefWindowProc 函数开始传送消息到它的父窗口过程中,不应该有内部的消息转发,直到找到一个处理消息的窗口。

窗口通过它的 WindowProc 函数接收消息。


消息定义:

#define WM_MOUSEWHEEL                   0x020A


参数解析:

wParam:高位字节表示鼠标滚轮滑动的距离。距离值以 WHEEL_DELTA(它的值别定义为 120)的倍数或部分的形式表达。正数表明向前滚动,离开用户,负数表明往回滚动,向着用户。

低位字节表示各个虚拟键是否被按下,该参数可以是下表中一个或者多个值:

含义

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:表示鼠标的位置,低位字节表示相对于屏幕左上角的 X 坐标;高位字节表示相对于屏幕左上角的 Y 坐标。


返回值:

如果应用程序处理这个消息,它应该返回 0。


备注:

1. 使用下面的代码获取 wParam 参数中的信息。

  1. fwKeys = GET_KEYSTATE_WPARAM(wParam);
  2. zDelta = GET_WHEEL_DELTA_WPARAM(wParam);

复制代码


2. 使用下面的代码获取鼠标的水平和垂直位置:        

  1. xPos = GET_X_LPARAM(lParam);
  2. yPos = GET_Y_LPARAM(lParam);

复制代码


3. 如上面所看到的那样,X 坐标在 lParam 参数的低位字节;Y 坐标在 lParam 参数的高位字节(两个都是有符号值,因为在多屏幕系统上它们可以为负值)。如果 lParam 参数赋值给一个变量,您可以使用 MAKEPOINTS 宏把 lParam 参数转成 POINTS 结构。您也可以使用 GET_X_LPARAM 宏或者 GET_Y_LPARAM 宏提取 X 坐标或者 Y 坐标。

重要:不要使用 LOWORD 宏或者 HIWORD 宏提取鼠标位置的 X 和 Y 坐标,因为在多萤幕系统上这些宏返回错误的结果。多萤幕系统的 X ,Y 坐标可以为负值,而 LOWORD 宏和 HIWORD 宏把坐标认为是无符号数值。

4. 鼠标滚轮滑动距离是 WHEEL_DELTA 的整数倍,WHEEL_DELTA 默认设置为 120。这个值是要采取的响应的开端,这一类响应(比如向前滑动到下一个刻度)必须为每一个 delta 对应。

5. delta 被设为 120,允许将来使用更高精度的滚轮(例如没有刻度的自由旋转滚轮),这种设备在每次滑动可能会发送多个消息,但是每次消息中的值更小。要支持这个可能性,或者可以累计输入的 delta 值,直到达到一个 WHEEL_DELTA (因此您达到与给定 delta 的滑动相同的响应),或者滚动部分行以响应更频繁的消息。您也可以选择您的滚动精度并累计 delta 值直到达到 WHEEL_DELTA。

6. 注意,MSH_MOUSEWHEEL 消息没有 fwKeys 值。否则,该参数和 WM_MOUSEWHEEL 消息一样。

7. 应用程序向上转发 MSH_MOUSEWHEEL 消息给嵌入对象或者控件。应用程序需发送该消息给活动的嵌入对象的链接与嵌入程序。程序是否发送消息到当前聚焦的允许鼠标滑轮操作的控件是可选的。如果应用程序发送消息给控件,应该检查返回值查看消息是否被处理。如果控件处理该消息则返回 TRUE。


需求:

Minimum supported client

Windows 2000 专业版 [仅桌面应用程序]

Minimum supported server

Windows 2000 服务器版 [仅桌面应用程序]

Header

Winuser.h (包含于 Windows.h)


 

提示
郴维网为您提供各类专业服务:
软件开发,电脑配件销售,WIFI路由器销售,上门电脑维修,上门安装系统,系统安装,软、硬件安装,电脑除尘清灰,显示器维修,WIFI安装调试,服务器维护,数据恢复,密码破解,网络布线,网络检修,打印机维修,打印机加碳粉,苹果电脑安装系统,苹果电脑安装双系统,监控安装维护,电脑外包,笔记本电脑维修,餐饮、美容行业软件安装 等。。。。。。
点击次数:1332 更新时间:2017-5-30 13:17:58  【打印此页

上一条:WM_BUTTONUP 消息

下一条:WM_TIMER 消息

关键词推荐:郴州电脑城 郴州电脑维修公司 维修电脑公司 郴州软件开发 上门电脑维修 上门安装系统 笔记本电脑维修 郴州打印机维修 打印机加碳粉 电脑安装双系统 苹果电脑双系统 液晶显示器维修 联想笔记本维修 联想笔记本维修电话 戴尔笔记本维修电话 郴州戴尔笔记本维修 戴尔笔记本郴州维修点 华硕笔记本维修点 郴州华硕笔记本维修 郴州笔记本上网维修