C++ CreateWindowW窗口太小

C++ CreateWindowW窗口太小,c++,winapi,C++,Winapi,当我创建窗口时,它小于指定的宽度和高度,即840x840。实际创建的窗口仅约为825x782(不包括菜单等)。我搞不懂为什么窗户这么小,以前从来没有过这个问题。提前谢谢 CreateWindowW(wc.lpszClassName,L“窗口”, WS_重叠窗口| WS_可见,100200840840, 空,空,空,空); 解决方案是使用Simon Mourier评论的AdjustWindowRect函数,其中rect是客户端窗口的大小 RECT RECT={0,0,宽度,高度}; AdjustW

当我创建窗口时,它小于指定的宽度和高度,即840x840。实际创建的窗口仅约为825x782(不包括菜单等)。我搞不懂为什么窗户这么小,以前从来没有过这个问题。提前谢谢

CreateWindowW(wc.lpszClassName,L“窗口”,
WS_重叠窗口| WS_可见,100200840840,
空,空,空,空);

解决方案是使用Simon Mourier评论的AdjustWindowRect函数,其中
rect
是客户端窗口的大小

RECT RECT={0,0,宽度,高度};
AdjustWindowRect(&rect,WS_OVERLAPPEDWINDOW,true);
CreateWindowW(wc.lpszClassName,L“窗口”,
WS|U重叠窗口| WS|U可见,100200,
rect.right-rect.left,rect.bottom-rect.top,
NULL,NULL,hPrevInst,NULL);

实际创建的窗口仅约为825x782(不包括菜单等)
因为您指定的大小包括边框和菜单。您指的是客户端区域的大小吗?传递到
CreateWindow
的维度包括标题栏、菜单(如果有的话)和边框,因此客户端区域将略小于此值。您的第10个参数必须是程序实例
GetModuleHandle(nullptr)
在调用CreateWindow之前,您可能应该调用AjustWindowRectEx:。