我在Visual Studio中启动了一个新的Windows桌面C ++项目。窗口创建如下所示:
HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
我立即检查窗口和客户端的大小,并获得它们之间的区别:
RECT windowRect;
RECT clientRect;
GetWindowRect(hWnd, &windowRect);
GetClientRect(hWnd, &clientRect);
int xExtra = windowRect.right - windowRect.left - clientRect.right;
xExtra
16 ( 26 ,如果我的进程是每个监视器支持DPI)。
这种差异的原因是什么?客户区看起来与窗口的宽度相同!
(看起来边框可能会占用几个像素,但不会 26 !)
我在俯瞰什么?