描画領域を指定した値にしたい時は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で宣言してある通り、拡大縮小不可にする。