第11回目 Cocoaでウインドウサイズ変更

Cocoaアプリケーションでウインドウサイズ変更を実現する方法です。

プログラム作成

MyOpenGLView.m

-(void)reshape
{
	NSRect bounds = [self bounds];
	glViewport(0, 0, (int)bounds.size.width, (int)bounds.size.height);
}
ウインドウサイズが変更されるとreshapeが実行されます。
なのでNSOpenGLViewから派生したクラスのreshapeに上記のコードを追加すると
ウインドウサイズ変更に対応できます。
OpenGLの場合はglViewportでウインドウの大きさを指定するだけで良いと思います。

Interface Builderでの作業

windowsize1.png
MainMenu.nibをダブルクリックしてInterface Builderを起動します。
windowsize2.png
MyOpenGLViewをクリックします。
windowsize3.png
MyOpenGLView SizeウインドウのAutosizingの所で
左の矢印などを全部クリックして赤く設定します。
これでウインドウサイズに合わせてViewの大きさも変化します。
windowsize4.png
WindowのMyOpenGLView以外の白い部分をクリックします。
windowsize5.png
Minimum SizeのHas Minimum Sizeのチェックボックスを
チェックしてwidthとheightを入力します。
ここでウインドウの最小サイズを設定できます。
今回はUse Currentボタンを押して現在のウインドウの大きさを
そのまま設定しました。これで現在の設定よりもウインドウを
小さくすることはできなくなります。

サンプルプログラム

filewindowsize_source_20090616.zip

前に戻る?


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS