C#2.0時代のゲームプログラミング(18)
仮想スクリーンでの座標を指定してウィンドゥを移動させるには、user32.MoveWindowを呼び出せば良い。
→すまん。コメント欄で教えてもらったように、Form.Locationプロパティで十分だった。
MoveWindow(form.Handle , x , y , width , height , 0);
仮想スクリーン座標で自由に移動が出来るようになったので、実際にディスプレイ解像度を切り替えることを考えていく。
ウィンドゥが存在するディスプレイを取得する方法は id:yaneurao:20060402の方法でいいのだが、.NETではなくWin32APIでこれをやっている人向けにメモを残しておく。
.NETのglobal::System.Windows.Forms.Screen.FromHandleは、Win32APIのMonitorFromWindowを呼び出しているだけだ。これはWindows98でマルチモニタ対応になった時に導入された新しいAPIだ。他にもMonitorFromPoint , MonitorFromRect , GetMonitorInfo , EnumDisplayMonitorsなどがある。(つづく)