繁体   English   中英

非MFC CalcWindowRect()?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM