2011-02-09 14 views
6

Problem: mam jedno okno MainWindow i inny childWindow dodany do mainWindow. childWindow jest rodzajem klasy WindowExt. Ta klasa definiuję dla metody catch method: [NSWindow becomeKeyWindow], która musi być wywołana po [childWindow makeKeyWindow]. Jeśli tworzę childWindow i spróbować zrobić to keyWindow na następny sposób:Dlaczego NSWindow bez styleMask: NSTitledWindowMask nie może być keyWindow?

WindowExt *childWindow = [[WindowExt alloc] initWithContentRect:addedWindowRect 
          styleMask:NSBorderlessWindowMask | NSTitledWindowMask 
          backing:NSBackingStoreBuffered 
           defer:NO]; 
[mainWindow addChildWindow:childWindow ordered:NSWindowAbove]; 
[childWindow makeKeyWindow]; 

metoda [WindowExt becomeKeyWindow] dla childWindow nazywa - wszystko jest w porządku, childWindow stać keyWindow.

Ale jeśli tworzę childWindow jak

WindowExt *childWindow = [[WindowExt alloc] initWithContentRect:addedWindowRect 
styleMask:NSBorderlessWindowMask 
backing:NSBackingStoreBuffered 
defer:NO]; 
[mainWindow addChildWindow:childWindow ordered:NSWindowAbove]; 
[childWindow makeKeyWindow]; 

bez NSTitledWindowMask, [WindowExt becomeKeyWindow] dla childWindow nigdy nie jest nazywany - childWindow nie stać keyWindow.

Odpowiedz

0

można ustawić maskę styl do NSBorderlessWindowMask w celu aby uczynić go bez granic

Powiązane problemy