0

我正在使用::RunAppModalLoopForWindow(WindowPtr)将碳窗口作为模态运行。但在某些时候,我需要显示/隐藏所有应用程序的窗口:

NSArray* windowNumbers = [NSWindow windowNumbersWithOptions:0];

for (NSNumber* windowNumber in windowNumbers)
{
    NSWindow* window = [[NSApplication sharedApplication] windowWithWindowNumber:[windowNumber integerValue]];

        [window setAlphaValue:CGFloat(showFlag)];
}

但是 windowNSCarbonWindow*不响应setAlphaValue,因此,窗口不会改变其可见性。

另外,我不知道在哪里NSCarbonWindow定义,所以我可以从NSWindowNSCarbonWindow 转换。

4

1 回答 1

1

怎么样:

if ([window respondsToSelector: @selector(setAlphaValue:)])
    [window setAlphaValue:CGFloat(showFlag)];
else if (showFlag)
    ShowWindow( [window windowRef] );
else
    HideWindow( [window windowRef] );
于 2012-04-11T16:24:08.060 回答