NSWindow注册鼠标事件(使用NSTrackingArea)即使应用程序没有集中注意力?

时间:2011-06-09 19:40:41

标签: objective-c macos cocoa

所以我正在开发一个桌面覆盖应用程序,它使用跟踪区域来确定鼠标进入和退出该区域,然后执行某些操作。基本上我正在构建一个矩形,可以知道鼠标是否在它上面盘旋,并且会发生变化(非常基本的翻转。)

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

我的问题是,实现这一目标的最佳方法是什么?虽然我很接近,但我还没有找到完美的解决方案。

以下链接使它能够注册CLICK事件,即使它没有集中注意力,但是我无法找到让它实际注册mouseEntered和mouseExited的东西。

Make OSX application respond to first mouse click when not focused

1 个答案:

答案 0 :(得分:5)

使用选项NSTrackingArea创建NSTrackingActiveAlways

相关问题