在仍然从另一个应用程序窗口接收鼠标事件的同时保持另一个应用程序的窗口活动?

时间:2010-03-19 22:49:55

标签: objective-c cocoa nswindow appkit nsevent

有没有办法让我的应用程序窗口接收键盘和/或鼠标事件(即用户点击窗口的按钮),同时仍然保持焦点到另一个不相关的应用程序?

我尝试在不同级别配置我的窗口,包括[myWindow setLevel:NSPopUpMenuWindowLevel]无效。

2 个答案:

答案 0 :(得分:0)

您应该能够通过发送NSApp acceptsFirstMouse: messages来使您的观看次数(至少是处理鼠标点击的次数)回复a preventWindowOrdering message,从而无需点击窗口即可处理鼠标点击然后返回YES

如果没有自行订购,您不应该让您的应用处理打字。如果出现的字段被另一个窗口遮挡,用户可能无法意识到他们的输入位置。

答案 1 :(得分:0)

找到它。简单但难以捉摸。

使用NSPanel并确保面板样式为非激活(NSNonactivatingPanelMask)或在IB的检查器中勾选相同的选项。