【问题标题】:Closing application's windows (OSX)关闭应用程序的窗口 (OSX)
【发布时间】:2012-03-13 20:12:17
【问题描述】:

如何在 Mac 中关闭所有打开的窗口?

在 Windows 中,我们使用 EnumWindows(),然后是 SendMessage(hwnd, WM_NCDESTROY, 0, 0) 这是我们在 OSX 中也应该采用的方法还是有不同的方法?

【问题讨论】:

    标签: macos user-interface window


    【解决方案1】:

    这取决于你的界面是使用 Carbon 还是 Cocoa。

    如果您使用的是 Cocoa 和 Objective-C,那么简单如下:

    - (void)closeAllWindows {
        [[NSApp windows] makeObjectsPerformSelector:@selector(performClose:)
                                         withObject:nil];
    }  
    

    这基本上是向全局NSApplication 对象询问其-windows 数组。

    或者,您可能需要指定-close 来代替-performClose:,具体取决于您应用中的窗口类型。请参阅文档以确定哪种方法可能更适合使用。

    如果您使用的是 Carbon 和 Carbon 事件管理器,我将不得不将其留给其他人,因为我不知道。 ;-)

    【讨论】:

      猜你喜欢
      • 2011-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-19
      相关资源
      最近更新 更多