Точной функции замены один к одному нет, но 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);
}