所以我正在开发一个桌面覆盖应用程序,它使用跟踪区域来确定鼠标进入和退出该区域,然后执行某些操作。本质上,我正在构建一个矩形,它会知道鼠标是否悬停在它上面,并且会发生变化(非常基本的翻转。)
唯一棘手的部分是我希望它能够在可见时注册这些事件,即使它不是第一响应者或 key 。问题是,为了让它注册 mouseEntered 和 mouseExited 事件,我必须首先单击窗口使其成为键,然后它才能正常注册它们。
我的问题是,实现它的最佳方式是什么?尽管我很接近,但我还没有找到完美的解决方案。
下面的链接使它能够注册 CLICK 事件,即使它没有获得焦点,但我找不到能让它实际注册 mouseEntered 和 mouseExited 的东西。
Make OSX application respond to first mouse click when not focused
最佳答案
使用选项 NSTrackingActiveAlways
创建一个 NSTrackingArea
。
关于objective-c - NSWindow 注册鼠标事件(使用 NSTrackingArea),即使应用程序未获得焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6298302/