Какао полноэкранная проблема с keyDown и keyUp - PullRequest
2 голосов
/ 28 ноября 2010

Я делаю полноэкранный режим таким образом:

NSRect frame = [[NSScreen mainScreen] frame];

// Instantiate new borderless window
fullscreenWindow = [[NSWindow alloc] initWithContentRect:frame
                    styleMask:NSBorderlessWindowMask
                    backing:NSBackingStoreBuffered defer: NO];

startingWindow = [self window];
[startingWindow setAcceptsMouseMovedEvents:NO];
[startingWindow orderOut:nil];

if(fullscreenWindow != nil)
{
    // Set the options for our new fullscreen window         
    [fullscreenWindow setReleasedWhenClosed: YES];
    [fullscreenWindow setAcceptsMouseMovedEvents:YES];
    [fullscreenWindow setContentView: self];
    [fullscreenWindow makeKeyAndOrderFront:self ];
    [fullscreenWindow setLevel: NSPopUpMenuWindowLevel-1];
    [fullscreenWindow makeFirstResponder:self];
}

После переключения в полноэкранный режим не работает keyDown и keyUp. Что нужно сделать, чтобы оно заработало?

Заранее спасибо.

С наилучшими пожеланиями, Чудзютки

Ответы [ 2 ]

1 голос
/ 29 ноября 2010

Вам необходимо переопределить класс NSWindow своим собственным классом, который наследуется от NSWindow.Затем вы перезаписываете сообщения о событиях keyDown и keyUp, чтобы перехватить их.Затем вы передаете эти события тому, кто в них нуждается.

1 голос
/ 28 ноября 2010

Почему вы делаете всю эту работу самостоятельно?Просто отправьте сообщение -enterFullScreenMode:withOptions:.

...