MFC对话框切换

MFC中实现动态对话框切换

资源视图Dialog右键插入一个对话框:
MFC对话框切换_第1张图片
对话框属性边框设置为None,样式设置为Child
MFC对话框切换_第2张图片
对话框右键添加类可以为该对话框添加h和cpp文件:
MFC对话框切换_第3张图片
在主对话框中可以new出来刚刚的对话框,this就是将对话框的parent设置为当前主对话框

CDialogEx* m_curDialog = new GlobalDlg(this);
m_curDialog->Create(IDD_DIALOG_GLOBAL,this); //第一个参数为插入对话款的ID
m_curDialog->ShowWindow(SW_SHOW);

主对话框中添加OnSize事件:
MFC对话框切换_第4张图片

void CModifySettingsDlg::OnSize(UINT nType, int cx, int cy)
{
	CDialogEx::OnSize(nType, cx, cy);
	// TODO: 在此处添加消息处理程序代码
	CRect cltrect; 
	GetClientRect(cltrect);//获取当前主对话框的坐标
	if (m_curDialog)
	{
		//设置动态对话框的位置
		m_curDialog->SetWindowPos(&wndTop,cltrect.left+400,cltrect.top,700, cltrect.Height(), SWP_NOACTIVATE);
	}
}

你可能感兴趣的:(MFC,mfc,c++)