2012-04-11 5 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]); 
관련 문제