0

私は::RunAppModalLoopForWindow(WindowPtr)カーボンウィンドウをモーダルとして実行するために使用しています。しかし、ある時点で、次の方法ですべてのアプリケーションのウィンドウを表示/非表示にする必要があります。

NSArray* windowNumbers = [NSWindow windowNumbersWithOptions:0];

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

        [window setAlphaValue:CGFloat(showFlag)];
}

しかし、window はNSCarbonWindow*に応答しないため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 に答える