WinApi 如何获得 MouseWheel Notch?

Posted

技术标签:

【中文标题】WinApi 如何获得 MouseWheel Notch?【英文标题】:WinApi How to get the MouseWheel Notch? 【发布时间】:2012-12-08 20:36:07 【问题描述】:

您好,我目前正在使用 DirectX 制作游戏,但无法让鼠标滚轮处于当前档位或类似情况。我查找了一个小示例,但找不到真正有效的示例。我看到他们正在使用 Windows 消息 WM_MOUSEWHEEL,但我无法获得当前的等级,请帮助。

【问题讨论】:

滚动量是120的倍数,每120代表一个档次。 那么我将如何处理这一切? 您可以通过GET_WHEEL_DELTA_WPARAM(wParam) 获得总金额,并使用它来计算您拥有的WHEEL_DELTA (120) 的倍数。正值表示向前旋转,负值表示向后旋转。但请注意,有些鼠标的滚动不到一格。 你将如何在代码中做到这一点。您也可以将其发布为这个问题的答案? 您似乎认为它具有绝对位置。不是,是***。您只会获得增量更改。 【参考方案1】:

鼠标滚轮没有“当前凹槽”,因此无法从该设备查询此类内容。它们仅测量变化增量和方向,并且此信息将包含在您移动时收到的事件中。如果有一个“当前的缺口”,它就在你的程序中,你必须自己跟踪它。这可能以缩放因子、页面位置或其他形式出现。

【讨论】:

以上是关于WinApi 如何获得 MouseWheel Notch?的主要内容,如果未能解决你的问题,请参考以下文章

c#如何设置panel的鼠标滑轮事件?MouseWheel只能应用于Form吗?

如何获取具有可见窗口的任何进程的名称 - WinAPI?

如何使用 WinApi 的 WriteConsole 打印 LOCAL 字节

c# 在知道数据窗口的句柄的时候如何获得数据窗口的数据

如何在 MS Access 中重载 Form_MouseWheel()?

用WinAPI编程的时候,如何让一个编辑框在被点击后···