描画領域を指定した値にしたい時はAdjustWindowRect関数を使う。
//ウインドウスタイルの設定 #define WND_S (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX) RECT rect = {0, 0, 640, 480}; AdjustWindowRect(&rect, WND_S, FALSE); int WndW = rect.right - rect.left; int WndH = rect.bottom - rect.top; //ウインドウの作成 hWnd = CreateWindow( "AppName", //アプリケーション名 "sample", //ウインドウタイトル WND_S, //ウインドウ設定 100, 100, //表示位置X,Y WndW, WndH, //幅、高さ NULL, NULL, hInstance, NULL);
AdjustWindowRect関数の第2引数はCreateWindow関数の第3引数と同じもの。 第3引数はメニューバー有りならTRUE、無しなら:FALSEにする。 また、表示領域を指定したのに大きさを変えられては意味が無いので、 ウインドウのスタイルをWND_Sで宣言してある通り、拡大縮小不可にする。