MFC UI大小改变与自适应
文章目录
- 窗口最大化
- 库
- 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控件随界面自动拉伸。