MFC中如何创建一个非模态对话框

1.首先按照类向导生成一个程序

2.添加资源,插入对话框

3.在主对话框中添加一个按钮并添加消息映射


3.为对话框生成对应的类CModeDlg

4.在界面类中添加

CModeDlg *m_pDlg;

5.在自己添加的按钮消息函数中添加如下语句

void MFCApplication1Dlg::OnBnClickedMode()
{
m_pDlg=new CModeDlg;
m_pDlg->Create(IDD_DIALOG1);
ShowWindow(SW_SHOW);
}

6.销毁对话框,也是最重要的:应重载CModeDlg类的OnCancel和PostNCDestroy两个虚函数

注意:OnCancel中不能调用基类的OnCancel,因为基类调用了EndDialog这个函数,而应调用DestroyWindow()

m_pDlg->DesroyWindow();

而重载的PostNCDestroy()中应销毁指针

delete m_pDlg;
如此,调试,即可创建非模态对话框

猜你喜欢

转载自blog.csdn.net/qq_33012981/article/details/80368834