鼠标滚轮增量值始终为 120

Posted

技术标签:

【中文标题】鼠标滚轮增量值始终为 120【英文标题】:Mousewheel Delta value always 120 【发布时间】:2010-10-24 12:09:13 【问题描述】:

我正在 WPF 中创建一个使用鼠标滚轮放大/缩小图像的应用程序。缩放量取决于鼠标滚轮的转动量。

问题在于 Delta 值始终为 120,如 MSDN 中所述。所以,即使我将***转动 1 档或 5 档,它也始终是 120 档。你知道解决这个问题的方法吗?

【问题讨论】:

【参考方案1】:

您应该能够处理PreviewMouseWheel 事件。每个事件的增量为 +/-120,但***的每个“缺口”都会获得一个事件。

【讨论】:

对此原因的有趣解释:wpf.2000things.com/2012/10/26/… 我猜那么值得注意的是,不同的设备可能会根据车轮精度有不同的增量,但每个事件的增量总是相同的。 对于遇到此问题的任何人,我最近在 Windows 10 上测试了 PreviewMouseWheel 事件,发现增量是 +/-120 的倍数,因此与 @987654324 没有明显差异@事件。【参考方案2】:

John Myczek 给出了基本正确的答案。我应该补充一点,如果你转动***足够快,你会注意到增量大于 120 或小于 -120。它将是 +/-120 的倍数。所以最好在PreviewMouseWheel事件的句柄上做一些划分。

【讨论】:

【参考方案3】:

上述关于值始终为 +/-120 的陈述并不总是正确的。

如果你慢慢地转动***,这个值确实是+/-120, 但是,如果您快速旋转滚轮,则该值变为 +/-240。

我猜可能还有其他值(还没有测试过)...

【讨论】:

以上是关于鼠标滚轮增量值始终为 120的主要内容,如果未能解决你的问题,请参考以下文章

RAWINPUT - 如何获取鼠标滚轮数据

鼠标滚轮事件

js 鼠标滚轮控制图片放大缩小

js 鼠标滚轮控制图片放大缩小

centos7触屏鼠标滚轮

vb如何监视鼠标滚轮事件