为什么当 Excel 具有焦点但鼠标不在焦点上时会捕获鼠标滚轮事件?

为什么当 Excel 具有焦点但鼠标不在焦点上时会捕获鼠标滚轮事件?

在现代 Windows 应用程序中,鼠标滚轮事件会传递给鼠标指针指向的应用程序并由该应用程序响应,即使该应用程序没有获得焦点。例如,我正在我的网络浏览器中输入这篇文章,但如果我将鼠标悬停在另一台显示器上打开的 Notepad++ 实例上,并使用滚轮,Notepad++ 会滚动,即使它没有获得焦点。

Microsoft Excel 并非如此。如果 Excel 没有焦点,而您将鼠标悬停在它上面并滚动滚轮,它不会滚动。更糟糕的是,如果 Excel 有焦点,而您将鼠标悬停在其他应用程序上并滚动滚轮,Excel 会捕获鼠标滚轮事件并滚动,而不是其他应用程序!然后您必须取消滚动 Excel,单击您真正想要滚动的应用程序,滚动它,然后(如果您仍然希望 Excel 获得焦点)将鼠标移回 Excel 并单击它(确保单击窗口的死角,以免让 Excel 执行您不希望它执行的操作)以便它再次获得焦点。这太糟糕了。我怎样才能让 Excel 在鼠标滚轮事件方面表现得像它应该的那样?

相关内容