*第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)~ [[前に戻る>プログラミング]]