×

[PR]この広告は3ヶ月以上更新がないため表示されています。
ホームページを更新後24時間以内に表示されなくなります。

Stork Lab

NSWindow フルスクリーン

この情報は古くなっています。現在はNSViewの
– enterFullScreenMode:withOptions:
を使うのが手軽です。 2011/8/7
まず、NSScreenでNSRectのスクリーンサイズを取得します。
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ファイルにヘッダーを書く必要はありません。