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

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		
    


Comments

  • about scroll bar

    Posted by Legacy on 12/12/2001 12:00am

    Originally posted by: vivi

    When I resizing the foreview ,the scroll bar doesn't appear.
    How to show the scrool bar when need?

    I dynamic create edit to this view ,but when there aer a lot of edit ,the view 's size must to be enlarge .But i don't konw how to adjust the scroll bar accommodate the view .

    thank u very much for you help .

    Reply
  • But what about a SDI App?

    Posted by Legacy on 11/30/2001 12:00am

    Originally posted by: me

    see page title ;)

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Wednesday, September 24, 2014 8:00 AM - 9:00 AM PDT According to a recent Forrester Research report, many companies are choosing low-code platforms over traditional programming platforms, due to the speed with which low-code apps can be assembled and tested. With customer-facing applications on the rise, traditional programming platforms simply can't keep up with the "short schedules and rapid change cycles" required to develop these applications. Check out this upcoming webinar and join Clay Richardson from …

  • Learn how cloud-based master data management (MDM) empowers your fast-paced business to get the right data to the right place in real time, so you can remain competitive and agile.

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds