C#2.0時代のゲームプログラミング(18)

仮想スクリーンでの座標を指定してウィンドゥを移動させるには、user32.MoveWindowを呼び出せば良い。



MoveWindow(form.Handle , x , y , width , height , 0);
→すまん。コメント欄で教えてもらったように、Form.Locationプロパティで十分だった。


仮想スクリーン座標で自由に移動が出来るようになったので、実際にディスプレイ解像度を切り替えることを考えていく。


ウィンドゥが存在するディスプレイを取得する方法は id:yaneurao:20060402の方法でいいのだが、.NETではなくWin32APIでこれをやっている人向けにメモを残しておく。


.NETのglobal::System.Windows.Forms.Screen.FromHandleは、Win32APIのMonitorFromWindowを呼び出しているだけだ。これはWindows98でマルチモニタ対応になった時に導入された新しいAPIだ。他にもMonitorFromPoint , MonitorFromRect , GetMonitorInfo , EnumDisplayMonitorsなどがある。(つづく)