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