CWindow::ResizeClient() Function for CWnd (or derived classes)

CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

With this Function you can resize the window to the specified client area
size of your CWnd or derived classes like the CWindow::ResizeClient()
function.

Example

You have a dialog based application and the client rect of the
dialog depends on the size of a bitmap.

Source Code

BOOL CYourWndOrDialog::ResizeClient (int nWidth,
int nHeight,
BOOL bRedraw)
{
RECT rcWnd;
GetClientRect (&rcWnd);

if(nWidth != -1)
rcWnd.right = nWidth;

if(nHeight != -1)
rcWnd.bottom = nHeight;

if(!::AdjustWindowRectEx(&rcWnd,
GetStyle(),
(!(GetStyle() & WS_CHILD)
&& GetMenu() != NULL)), GetExStyle()))
return FALSE;

UINT uFlags = SWP_NOZORDER | SWP_NOMOVE;

if(!bRedraw)
uFlags |= SWP_NOREDRAW;

return SetWindowPos(NULL,
0, 0,
rcWnd.right - rcWnd.left,
rcWnd.bottom - rcWnd.top,
uFlags);
} // CYourWndOrDialog::ResizeClient

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read