2011-02-09 10 views
6

Problema: Tengo una ventana mainWindow y otra childWindow agregada a mainWindow. childWindow es clase de clase WindowExt. Esta clase I define para el método catch llamada [NSWindow becomeKeyWindow] que debe llamarse después de [childWindow makeKeyWindow]. Si creo ChildWindow y trato de hacerlo keyWindow el siguiente manera:¿Por qué NSWindow sin styleMask: NSTitledWindowMask no puede ser keyWindow?

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

método para [WindowExt becomeKeyWindow]childWindow se llama - todo bien, childWindow convertido keyWindow.

Pero si creo ChildWindow como

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

sin NSTitledWindowMask, [WindowExt becomeKeyWindow] para childWindow nunca es llamado - childWindow no se convierte en keyWindow.

Respuesta

0

puede establecer la máscara de estilo a NSBorderlessWindowMask con el fin para que sea sin bordes

Cuestiones relacionadas