2011-06-09 53 views
5

因此,我正在使用桌面覆盖应用程序,该应用程序使用跟踪区域来确定鼠标进入和退出该区域,然后执行某些操作。本质上,我正在构建一个矩形,可以知道鼠标是否在其上方移动,并且会发生变化(极其基本的翻转)。NSWindow注册鼠标事件(使用NSTrackingArea),即使应用程序不重点?

唯一棘手的部分是我希望它能够在可见时注册这些事件即使它不是firstresponder或key。问题是,为了注册mouseEntered和mouseExited事件,我必须首先单击窗口以使其成为关键,然后它将它们注册为好。

我的问题是,最好的实现方式是什么?尽管我很接近,但我还没有找到完美的解决方案。

以下链接使其能够注册CLICK事件,即使它未聚焦,但我无法找到能够实际注册mouseEntered和mouseExited的内容。

Make OSX application respond to first mouse click when not focused

回答

5

创建选项NSTrackingActiveAlways一个NSTrackingArea

+0

完美运作。我不能相信我错过了这一点。我正在考虑NSWindow和NSView类文档,认为我在那里丢失了一些东西。谢谢您的帮助。 – 2011-06-10 06:55:44

相关问题