void CDialogEx::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
//计算偏移
INT nYPos=1;
INT nXPos=cx-nCloseWidth;
//设置位置
m_rcButton[BST_CLOSE].SetRect(nXPos,nYPos,nXPos+nCloseWidth,nYPos+31);
m_rcButton[BST_MAX_SIZE].SetRect(nXPos-nMaxWidth,nYPos,nXPos,nYPos+31);
m_rcButton[BST_MIN_SIZE].SetRect(nXPos-nMaxWidth-nMaxWidth,nYPos,nXPos-nMaxWidth,nYPos+31);
}
Onsize cx 和 cy是新窗口的长宽
此处需要设置非客户区的关闭,最小化,最大化这三个按钮的位置。