AdjustWindowRectは、クライアント領域が指定のサイズになるようなウィンドウサイズを計算する。
AdjustWindowRect function (winuser.h) - Win32 apps | Microsoft Docs
resource.hで、
メインメニュー本体とVGA(640x480)にするアイテム。
AdjustWindowRect.rcで、
"SizeVGA(640x480)(&V)"を選択すると、VGAになる。
AdjustWindowRect.cppは、
WM_SIZEでウィンドウサイズが変化するたびに、ウィンドウサイズとクライアントサイズを計算し保持しておく。
WM_PAINTでウィンドウサイズとクライアントサイズを描画。
"SizeVGA(640x480)"が選択されたら、(0, 0, 640, 480)でAdjustWindowRectに渡す。
そうすると、そのクライアントサイズに対応するウィンドウサイズに更新される。
現在位置を取得し、そこを起点にウィンドウサイズになるウィンドウにMoveWindowでリサイズする。
最初はこう。
SizeVGAを選択。
クライアントサイズが640x480になってる。
それに合わせたウィンドウサイズになっているということ。