2012-04-11 9 views
0

私はモーダルとしてカーボンウィンドウを実行するのに::RunAppModalLoopForWindow(WindowPtr)を使用しています。NSCarbonWindowの可視性を変更するには?

NSArray* windowNumbers = [NSWindow windowNumbersWithOptions:0]; 

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

     [window setAlphaValue:CGFloat(showFlag)]; 
} 

しかし、ウィンドウがsetAlphaValueに応答せず、したがって、ウィンドウはその可視性を変更していないNSCarbonWindow*次のとおりです。しかし、いくつかの点で私は、すべてのアプリケーションのウィンドウを表示/非表示にする必要があります。

また、NSCarbonWindowが定義されているため、NSWindowからNSCarbonWindowにキャストすることはできません。

答えて

1

方法について:

if ([window respondsToSelector: @selector(setAlphaValue:)]) 
    [window setAlphaValue:CGFloat(showFlag)]; 
else if (showFlag) 
    ShowWindow([window windowRef]); 
else 
    HideWindow([window windowRef]); 
関連する問題