[英]non-MFC CalcWindowRect()?
有人知道该API是否有非MFC版本吗?
CalcWindowRect()
谢谢
没有确切的一对一替换功能,但是AdjustWindowRectEx
非常接近。 如果使用CWnd::adjustOutside
标志说明滚动条,则需要自己进行调整。
例如:
// MFC version
RECT desiredClientRect = {0, 0, 640, 480};
myCwnd->CalcWindowRect(&desiredClientRect,
ignoreScrollBars ? CWnd::adjustBorder : CWnd::adjustOutside);
// Win32 version
RECT desiredClientRect = {0, 0, 640, 480};
DWORD dwStyle = GetWindowLong(myHwnd, GWL_STYLE);
AdjustWindowRectEx(&desiredClientRect,
dwStyle,
(GetMenu(myHwnd) != NULL), // bMenu
GetWindowLong(myHwnd, GWL_EXSTYLE)); // dwExStyle
if(!ignoreScrollBars)
{
if(dwStyle & WS_HSCROLL)
desiredClientRect.right += GetSystemMetrics(SM_CXHSCROLL);
if(dwStyle & WS_VSCROLL)
desiredClientRect.bottom += GetSystemMetrics(SM_CXVSCROLL);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.