C++ 如何从CreateWindowEx()窗口获取宽度和高度?C++;

C++ 如何从CreateWindowEx()窗口获取宽度和高度?C++;,c++,c,windows,winapi,window,C++,C,Windows,Winapi,Window,我已经用CreateWindowEx()函数创建了一个窗口,现在如何从我创建的窗口获取宽度和高度?这听起来很基本,但我就是找不到答案 这是必需的,因为窗高度是根据窗的创建方式自动创建的 语言C或C++ +/P>< P>使用。从左边减去右边得到宽度,从顶部减去底部得到高度 RECT rect; if(GetWindowRect(hwnd, &rect)) { int width = rect.right - rect.left; int height = rect.bottom -

我已经用CreateWindowEx()函数创建了一个窗口,现在如何从我创建的窗口获取宽度和高度?这听起来很基本,但我就是找不到答案

这是必需的,因为窗高度是根据窗的创建方式自动创建的

语言C或C++ +/P>< P>使用。从左边减去右边得到宽度,从顶部减去底部得到高度

RECT rect;
if(GetWindowRect(hwnd, &rect))
{
  int width = rect.right - rect.left;
  int height = rect.bottom - rect.top;
}

作为补充说明,如果您想要客户端区域而不是整个窗口。你可以用。有关您可以使用的窗口的其他信息。

我相信您正在寻找

例如:

HWND window = ::CreateWindowEx(...);
WINDOWINFO info;
if ( ::GetWindowInfo(window, &info) ) {
  ...
}

您是否尝试过或返回结构?

如果没有说明您为什么需要该大小,并且如果将窗口样式设置为包含可调整大小的属性[并且用户使用最小化/最大化/还原或拖动窗口边缘]调整窗口大小,则该大小可能会更改,最安全的选择是包含WM_SIZE的消息处理程序,并使用wparam和lparam参数值来确定窗口维度。这样,您将始终知道当前大小。WM_SIZE在创建窗口后的消息序列中被调用。

GetWindowRect()是正确的选择,感谢大家!