目标c-NSWindow注册鼠标事件(使用NSTrackingArea),即使应用程序没有聚焦



所以我正在开发一个桌面覆盖应用程序,该应用程序使用跟踪区域来确定鼠标进入和退出该区域,然后执行某些操作。从本质上讲,我正在构建一个矩形,如果鼠标悬停在它上面,它就会改变(一个非常基本的滚动)

唯一棘手的部分是,我希望它能够在可见的时候注册这些事件,即使它不是第一响应者或密钥。问题是,为了让它注册mouseEntered和mouseExited事件,我必须首先单击窗口,使其成为键,然后再注册它们。

我的问题是,实现这一点的最佳方式是什么?我还没能找到一个完美的解决方案,尽管我已经很接近了。

下面的链接使它能够注册CLICK事件,即使它没有聚焦,但我找不到能让它真正注册mouseEntered和mouseExited的东西。

使OSX应用程序在未聚焦时对第一次鼠标点击做出响应

使用选项NSTrackingActiveAlways创建一个NSTrackingArea

最新更新