第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ボタンを押して現在のウインドウの大きさを
そのまま設定しました。これで現在の設定よりもウインドウを
小さくすることはできなくなります。

サンプルプログラム

前に戻る


添付ファイル: filewindowsize5.png 163件 [詳細] filewindowsize4.png 167件 [詳細] filewindowsize3.png 166件 [詳細] filewindowsize2.png 167件 [詳細] filewindowsize1.png 160件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-12-16 (日) 15:25:51 (1987d)