【问题标题】:Make MAAttachedWindow to behave like NSMenu使 MAAttachedWindow 表现得像 NSMenu
【发布时间】:2011-07-11 00:32:56
【问题描述】:

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

但我想知道是否有任何其他方法代替窗口的键状态。使用 key-status 会增加另一个问题: 为了在窗口退出键状态时得到通知,所有其他应用程序必须在之前被忽略(这意味着当您的 statusMenu 出现时,所有其他应用程序的窗口变为非活动状态并失去颜色。这是由 [NSApp激活IgnoringOtherApps:是])。 当您使用 Spotlight 或 Airport-statusItem 时,通常不会发生这种情况。用户不会想到这一点。

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

【问题讨论】:

    标签: nswindow nsmenu nsstatusitem


    【解决方案1】:

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

    NSPanel *panel = [super initWithContentRect:NSZeroRect 
                                                  styleMask: NSNonactivatingPanelMask  
                                                    backing:NSBackingStoreBuffered 
                                                      defer:NO];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-02
      • 1970-01-01
      • 2010-09-13
      • 1970-01-01
      • 2012-11-24
      • 2017-06-19
      • 2017-01-26
      • 1970-01-01
      相关资源
      最近更新 更多