OnNcCalcSize改变标题栏等的高度

在创建窗口时,当收到 WM_NCCALCSIZE 消息时才指定客户区。不管什么时候,只要 Windows 想知道窗口客户区的大小,它便会发送这个消息。

NCCALCSIZE_PARAMS 结构保存三个矩形数组,记住结构 lpncsp->rgrc[0] 这是客户区的坐标

if (bCalcValidRects)  //为真这个结构才有效
{

CRect& rc = (CRect&)lpncsp->rgrc[0];//get the client rectangle 
rc.top += m_nTitleHeight;  //让出标题栏的高度
rc.left += m_nFrameWidth; //让出左边框的厚
rc.bottom -= m_nFrameWidth;  //让出底边框的厚度
rc.right -= m_nFrameWidth;  //让出右边框的厚度

}
原文地址:https://www.cnblogs.com/Browneyes/p/6109964.html