OSX Cocoa:如何检查哪个窗口是焦点?

时间:2010-01-05 15:59:47

标签: cocoa macos

嘿所有,我对Cocoa和XCode很新,所以如果这是一个愚蠢的问题,我很抱歉。

我如何检查哪个窗口是焦点?

此外,如果这与以前的解决方案不同,我将如何检查某个窗口是否在焦点上。

感谢您的帮助。

2 个答案:

答案 0 :(得分:20)

实际上有两种形式的“焦点”:

  • 具有活动外观的窗口(彩色/深灰色红绿灯,标题栏中的黑色文本,未修饰的代理图标等)是主窗口。
  • 接收关键事件的窗口是关键窗口。

考虑带有Inspector面板的文档窗口。如果用户正在检查Inspector中的字段中的某些文本,则文档窗口可能是主文件,但Inspector面板是关键。

要获取the key windowthe main window,请询问共享的NSApplication实例。而且,正如TechZen所说,您可以询问whether it is keywhether it is main的窗口。

答案 1 :(得分:4)

你正在寻找'keyWindow'。它是NSWindow和NSApplication的财产。这是前者的bool和后者的NSWindow实例。