我在大小为 1920x1080(本机分辨率)的 Windows 8.1 上调用 CreateWindowEx(如下),生成的窗口要大得多(可能大 2 倍)。
HWND windowHandle;
DWORD style = WS_POPUP;
DWORD exStyle = WS_EX_APPWINDOW;
RECT rect;
SetRect(&rect, left, top, right, bottom);
::AdjustWindowRectEx(&rect, style, false, exStyle);
windowHandle =
::CreateWindowEx(
WS_EX_APPWINDOW,
title, //name of the window class
title, //title
style, //style flags
left, top, right - left, bottom - top,
NULL, //parent window
NULL, //menu
applicationHandle, //handle to application (given at WinMain)
NULL);
我在文档中读到,尺寸参数应以设备为单位。我的预感是这是问题的原因,但我没有找到关于如何转换或指定适当单位或禁用它以便我可以以像素为单位指定的文档。
仅供参考 该设备是 Surface Pro II。