NSWindow フルスクリーン
この情報は古くなっています。現在はNSViewの
– enterFullScreenMode:withOptions:を使うのが手軽です。 2011/8/7
まず、NSScreenでNSRectのスクリーンサイズを取得します。
以下のコードは背景が黒いウインドウをフルスクリーンで表示します。ついでにメニューバーも消しています。
追記(2005年5月1日)
上の方法だとウインドウはキー操作を受け付けません。そこでNSWindowのサブクラスを作って以下のようにメソッドを定義する必要があります。
NSRect main = [[NSScreen mainScreen] frame];次にNSWindowをBorderlessで初期化します。
NSWindow *background = [[NSWindow alloc] initWithContentRect:main styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:YES];次にorderFrontすることによってフルクリーンのウインドウを表示することができます。
以下のコードは背景が黒いウインドウをフルスクリーンで表示します。ついでにメニューバーも消しています。
NSRect main = [[NSScreen mainScreen] frame];//スクリーンサイズを取得 NSWindow *background = [[NSWindow alloc] initWithContentRect:main styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:YES];//ウインドウを初期化 [background setBackgroundColor:[NSColor blackColor]];//背景を黒に [background setHidesOnDeactivate:YES];//アクティブでなくなったときに隠す [background orderFrontRegardless];//表示 [NSMenu setMenuBarVisible:NO];//メニューバーを消す
追記(2005年5月1日)
上の方法だとウインドウはキー操作を受け付けません。そこでNSWindowのサブクラスを作って以下のようにメソッドを定義する必要があります。
- (BOOL)canBecomeKeyWindow { return YES; }これは.mファイルに書くのみで十分です。.hファイルにヘッダーを書く必要はありません。