ページを表すウィンドウを作成します。そのサイズはミリメートル単位で決定する必要がありますが、CreateWindow 関数はサイズをピクセル単位で取得します。私が考えた唯一の方法は、次のコードを使用することです。
case WM_CREATE:
HDC hdc;
hdc = GetDC(hWnd);
SetMapMode(hdc, MM_LOMETRIC);
POINT pt[1];
// get the right bottom point of A4 page
pt[0].x = 2100;
pt[0].y = -2970;
DPtoLP(hdc, pt, 1);
DeleteDC(hdc);
SetWindowPos(hWnd, NULL, 0, 0, pt[0].x, pt[0].y, SWP_NOMOVE | SWP_NOZORDER);
return 0;
でも面倒そうです、もっと簡単な方法はありますか?