*第11回目 Cocoaでウインドウサイズ変更 [#ab25e327]
 Cocoaアプリケーションでウインドウサイズ変更を実現する方法です。
**プログラム作成 [#x5def632]
***MyOpenGLView.m [#e905a152]
 -(void)reshape
 {
 	NSRect bounds = [self bounds];
 	glViewport(0, 0, (int)bounds.size.width, (int)bounds.size.height);
 }
#author("2018-06-18T16:08:31+09:00","default:kuran","kuran")

 ウインドウサイズが変更されるとreshapeが実行されます。
 なのでNSOpenGLViewから派生したクラスのreshapeに上記のコードを追加すると
 ウインドウサイズ変更に対応できます。
 OpenGLの場合はglViewportでウインドウの大きさを指定するだけで良いと思います。

**Interface Builderでの作業 [#nc81ce51]
#ref(windowsize1.png,,,100%)~
 MainMenu.nibをダブルクリックしてInterface Builderを起動します。

#ref(windowsize2.png,,,100%)~
 MyOpenGLViewをクリックします。
#ref(windowsize3.png,,,100%)~
 MyOpenGLView SizeウインドウのAutosizingの所で
 左の矢印などを全部クリックして赤く設定します。
 これでウインドウサイズに合わせてViewの大きさも変化します。

#ref(windowsize4.png,,,100%)~
 WindowのMyOpenGLView以外の白い部分をクリックします。
#ref(windowsize5.png,,,100%)~
 Minimum SizeのHas Minimum Sizeのチェックボックスを
 チェックしてwidthとheightを入力します。
 ここでウインドウの最小サイズを設定できます。
 今回はUse Currentボタンを押して現在のウインドウの大きさを
 そのまま設定しました。これで現在の設定よりもウインドウを
 小さくすることはできなくなります。

**サンプルプログラム [#l11897dc]
#ref(http://www.ripple.gr.jp/~kuran_kuran/bin/download/windowsize_source_20090616.zip)~
[[前に戻る>プログラミング]]


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS