CreateWindowW窗口太小

问题描述 投票:0回答:1

当我创建我的窗口时,它比指定的宽度和高度小,应该是840x840。实际创建的窗口只有大约825x782(不包括菜单等)。我不知道为什么窗口会小,以前从来没有出现过这个问题。先谢谢你。

CreateWindowW(wc.lpszClassName, L"Window",
        WS_OVERLAPPEDWINDOW | WS_VISIBLE, 100, 200, 840, 840,
        NULL, NULL, NULL, NULL);
c++ winapi
1个回答
1
投票

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

RECT rect = {0, 0, width, height};
AdjustWindowRect(&rect, WS_OVERLAPPEDWINDOW, true);

CreateWindowW(wc.lpszClassName, L"Window",
        WS_OVERLAPPEDWINDOW | WS_VISIBLE, 100, 200, 
        rect.right - rect.left, rect.bottom - rect.top, 
        NULL, NULL, hPrevInst, NULL);
© www.soinside.com 2019 - 2024. All rights reserved.