0

ページを表すウィンドウを作成します。そのサイズはミリメートル単位で決定する必要がありますが、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;

でも面倒そうです、もっと簡単な方法はありますか?

4

0 に答える 0