The framework calls this member function when the size and position of the client area needs to be calculated.
By processing this message, an application can control the contents of the window's client area when the size or position of the window changes.
Regardless of the value of bCalcValidRects, the first rectangle in the array specified by the rgrc structure member of the NCCALCSIZE_PARAMS structure contains the coordinates of the window. For a child window, the coordinates are relative to the parent window's client area. For top-level windows, the coordinates are screen coordinates. An application should modify the rgrc rectangle to reflect the size and position of the client area.
The rgrc and rgrc rectangles are valid only if bCalcValidRects is TRUE. In this case, the rgrc rectangle contains the coordinates of the window before it was moved or resized. The rgrc rectangle contains the coordinates of the window's client area before the window was moved. All coordinates are relative to the parent window or screen.
The default implementation calculates the size of the client area based on the window characteristics (presence of scroll bars, menu, and so on), and places the result in lpncsp.
This member function is called by the framework to allow your application to handle a Windows message. The parameters passed to your function reflect the parameters received by the framework when the message was received. If you call the base-class implementation of this function, that implementation will use the parameters originally passed with the message and not the parameters you supply to the function.