我经常遇到这种情况:我将滚轮滚到某个可滚动元素上,但该元素却不滚动。更糟糕的是,屏幕另一部分的其他内容可能会滚动。
我很清楚为什么会发生这种情况。Windows 正在将命令发送到活动窗口中的活动元素,即具有焦点的元素。
但这种行为很荒谬。焦点是键盘的,而不是鼠标的。如果我单击鼠标按钮,该单击将转到鼠标指针下方的任何内容,而不是焦点元素。
键盘才是需要焦点元素的元素,而不是鼠标!!!
不管怎样,抗议够了。
有没有什么方法可以纠正这个问题,让它以合乎逻辑和直观的方式工作?也就是说,滚动鼠标指针下的东西。
编辑:
我正在寻找适用于所有 Windows 版本(至少从 WinXP 开始)的通用解决方案,因为该问题存在于所有版本中。
编辑2:
我知道 X-mouse 功能,但这不是我需要的。我不希望其他窗口/元素仅仅因为指针位于它们上方而获得焦点,这很烦人。
编辑3:
我正在寻找一个在 GUI 控制级别上工作的解决方案,即滚动鼠标指向的窗口中的特定元素(考虑一下带有左侧和中间面板的 Windows 资源管理器等 MDI 窗口)
答案1
至少在 Windows 7 和 Windows 8 中,在开始菜单/屏幕中输入“更改方式”。您应该看到(在 Windows 8 的“设置”下)“更改鼠标的工作方式”。选择它并查找“通过将鼠标悬停在窗口上来激活窗口”选项。
现在,鼠标下的窗口将在短暂延迟后自动激活,并且滚动将按预期工作。
我不确定此功能是否在早期版本的 Windows 中可用。请尝试在控制面板中的辅助功能选项下查找。
为了完整起见,让我们列出所有选项:
- 更改轻松访问设置(如上所述,至少适用于 Win7+,也可能适用于其他系统)
- 使用TX鼠标正如@Sean-Cheshire在评论中所建议的(最后更新于2005年)
- 更改注册表设置 - 请参阅问题“在 Windows 7 中设置焦点自动提升和焦点自动提升延迟“
- 使用威兹鼠标这样做的好处是它不会像其他答案那样影响窗口顺序。但是,它确实存在一些兼容性问题(请参阅网站)。支持从 2000 到 7 的 Windows 版本,不确定是否支持 8。
更新:从问题中的“更新 2”来看,我想说,只要您可以忍受列出的似乎围绕触摸板和 Logitech 问题的限制,WizMouse 就是您的最佳选择。
答案2
我使用了一个很棒的免费小软件,叫做猫鼠。