0

我已经阅读了本网站上的一篇文章,内容是当用户在 MAAttachedWindow 外部单击时如何隐藏它。在这篇文章中,我将 MAAttachedWindow 与 statusItem 一起使用。 单击外部时隐藏 MAAttachedWindow。它说我应该在 Window 退出其键状态时隐藏它。

但我想知道是否有任何其他方法代替窗口的关键状态。使用 key-status 会增加另一个问题:为了在窗口退出 key-state 时获得通知,所有其他应用程序必须之前已被忽略(这意味着所有其他应用程序的窗口在你的 statusMenu 出现了。它是由 [NSApp activateIgnoringOtherApps:YES] 完成的。当您使用 Spotlight- 或 Airport-statusItem 时,通常不会发生这种情况。用户不会想到这一点。

有没有人让 MAAttachedWindow 表现得像一个真正的 NSMenu?还有没有办法在没有这个问题的情况下使用密钥状态?谢谢你的任何提示。

4

1 回答 1

0

您可以在不使用 [NSApp activateIgnoringOtherApps:YES] 的情况下激活 NSPanel。只需像这样使用 NSNonactivatingPanelMask :

NSPanel *panel = [super initWithContentRect:NSZeroRect 
                                              styleMask: NSNonactivatingPanelMask  
                                                backing:NSBackingStoreBuffered 
                                                  defer:NO];
于 2011-09-26T04:23:04.233 回答