Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 783 of file window.cpp.
Referenced by Resize(), and ResizeController< Dialog >::WndProc().
{ ClientRect clnt_rect(_hwnd); SIZE new_size = {cx, cy}; int dx = new_size.cx - _last_size.cx; int dy = new_size.cy - _last_size.cy; if (!dx && !dy) return; _last_size = new_size; HDWP hDWP = BeginDeferWindowPos(size()); for(ResizeManager::const_iterator it=begin(); it!=end(); ++it) { const ResizeEntry& e = *it; RECT move = {0}; if (e._flags & MOVE_LEFT) move.left += dx; if (e._flags & MOVE_RIGHT) move.right += dx; if (e._flags & MOVE_TOP) move.top += dy; if (e._flags & MOVE_BOTTOM) move.bottom += dy; UINT flags = 0; if (!move.left && !move.top) flags = SWP_NOMOVE; if (move.right==move.left && move.bottom==move.top) flags |= SWP_NOSIZE; if (flags != (SWP_NOMOVE|SWP_NOSIZE)) { HWND hwnd = GetDlgItem(_hwnd, e._id); if (hwnd) { WindowRect rect(hwnd); ScreenToClient(_hwnd, rect); rect.left += move.left; rect.right += move.right; rect.top += move.top; rect.bottom += move.bottom; hDWP = DeferWindowPos(hDWP, hwnd, 0, rect.left, rect.top, rect.right-rect.left, rect.bottom-rect.top, flags|SWP_NOACTIVATE|SWP_NOZORDER); } } } EndDeferWindowPos(hDWP); }