MSDN 库将调整窗口矩形的 dwStyle 参数记录为:
需要计算所需尺寸的窗口的窗口样式。请注意,您不能
指定 WS_OVERLAPPED 样式。
我还没有找到任何解释。他们所说的“不能”是什么意思?为什么我不能这样做?
The WS_OVERLAPPED
样式定义为零:
#define WS_OVERLAPPED 0x00000000L
AdjustWindowRect()
正在检查提供的样式标志并相应地修改 RECT:
// ...
if( dwStyle & WS_BORDER ) {
const int cx = GetSystemMetrics(SM_CXBORDER);
const int cy = GetSystemMetrics(SM_CYBORDER);
lpRect->top -= cy;
lpRect->left -= cx;
lpRect->right += cx;
lpRect->bottom += cy;
}
// ...
所以AdjustWindowRect()
dwStyle 参数设置为0
不会改变 lpRect,因此WS_OVERLAPPED
不能使用。
如果您想计算顶级框架的大小,您可以使用WS_OVERLAPPEDWINDOW
or WS_CAPTION|WS_THICKFRAME
反而。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)