指定した数値ぴったりのクライアント領域を持つウィンドウを作るためには GetSystemMetrics() 関数を使ってウィンドウのデザイン部分のサイズを取得して作りたいサイズに加算します。
// 640x480 のウィンドウを作りたい場合 int width = 640 + GetSystemMetrics(SM_CXEDGE) // 横の縁の幅 + GetSystemMetrics(SM_CXBORDER) // 横の縁の幅 + GetSystemMetrics(SM_CXFIXEDFRAME); // タイトルバー&固定サイズウィンドウのフレームの幅 int height = 480 + GetSystemMetrics(SM_CYEDGE) // 縦の縁の高さ + GetSystemMetrics(SM_CYBORDER) // 縦の縁の高さ + GetSystemMetrics(SM_CXFIXEDFRAME) // タイトルバー&固定サイズウィンドウのフレームの高さ + GetSystemMetrics(SM_CYCAPTION); // タイトルバーの高さ
こうして求めた width と height を CreateWindow() 関数の第6引数と第7引数に渡せばクライアント領域が指定した数値ぴったりのウィンドウが作れます。
Comments
[...] 「指定した数値ぴったりのクライアント領域を持つウィンドウを作る」も併せて参照ください。 [...]
Contributions