文章目錄
- 窗口最大化
- 庫
- EasySize控件自適應大小
窗口最大化
- 資源視圖中開放最大化按鈕,添加窗口樣式
WS_MAXIMIZEBOX
。 - 發送大小改變消息
ON_WM_SIZE()
。 - 響應大小改變。
void CDlg::OnSize(UINT nType, int cx, int cy)
{CDialog::OnSize(nType, cx, cy);//獲取改變后窗口大小CRect rcClient;GetClientRect(&rcClient);CRect rcBtn(0, 0, 0, 0);if (NULL != GetDlgItem(IDBTN)) //判斷控件是否存在,第一次OnSize的時候控件還未創建{//獲取原始位置、大小CRect rcOrigin;GetDlgItem(IDBTN)->GetClientRect(rcOrigin);//設置新位置、大小。根據改變后的窗口大小等計算新位置。rcBtn.left = cx * 4 / 5 - nBtnWidth - 30;rcBtn.top = cy - nBtnHeight - 10;rcBtn.right = rcBtn.left + nBtnWidth;rcBtn.bottom = rcBtn.top + nBtnHeight;GetDlgItem(IDBTN)->MoveWindow(rcBtn);}
}
庫
EasySize控件自適應大小
實現MFC控件隨界面自動拉伸。