我创建了一个代表页面的窗口,其大小应以毫米为单位确定,但 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;
但这似乎太麻烦了,有没有更简单的方法?