2011-07-27 28 views
0

フルスクリーンNSWindowのキーイベントを処理しようとしています。私はNSWindowをサブクラス化し、メソッドkeyDownとcanBecomeKeyWindow(YESを返す)を実現しました。しかし、私の重要な出来事は扱いません。ここでは、ウィンドウを作成する方法を示します。NSWindowでのイベントの処理

mainWindow = [[FullScreenWindow alloc] initWithContentRect:screenRect 
              styleMask:NSBorderlessWindowMask 
               backing:NSBackingStoreBuffered 
               defer:NO screen:[NSScreen mainScreen]]; 

    [mainWindow setLevel:windowLevel]; 

    [mainWindow setBackgroundColor:[NSColor blackColor]]; 
    [mainWindow makeKeyAndOrderFront:nil]; 

ここで、FullScreenWindowはNSWindowのサブクラスです。何が間違っているのですか?

+2

一般的に、NSWindowオブジェクトのキーイベントを処理することは悪い考えです。通常、NSWindowControllerのコントロール、ビュー、またはサブクラスでこれを処理します。ウィンドウ自体にキーイベントを処理する必要がある理由はありますか?あなたは何をしようとしているのですか? –

+0

私はEscキーを押しながらフルスクリーンウィンドウを終了しようとしています – Oleg

答えて

0

escキーはデフォルトでフルスクリーンで既に存在しているため、(10.10.4でテスト済みの)Itを実装する必要はありません。