ページ

2009年5月6日水曜日

ウィンドウサイズの制約解除〜NSBorderlessWindowMask

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

色々試行錯誤していてウィンドウサイズの制約解除をする方法がわかった。
何の事はない、ボーダレスのウィンドウを作成すればステータスバーやDockの制約は受けずに自由な位置に任意のサイズのウィンドウを作成することができる。

InterfaceBuilderではなくコード中でウィンドウを作成する。

こんな感じ。

 _window = [[NSWindow alloc] initWithContentRect:rect
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO];


スタイルマスクに NSBorderlessWindowMask を指定する。
タイトルバーが付く通常のウィンドウは NSTitledWindowMask を指定する。

NSWindow.h
enum {
NSBorderlessWindowMask = 0,
NSTitledWindowMask = 1 << 0,
NSClosableWindowMask = 1 << 1,
NSMiniaturizableWindowMask = 1 << 2,
NSResizableWindowMask = 1 << 3

};


- - -
これでWebページ全体を表示できるウィンドウが作れる。