new模态和非模态对话框的建立和释放

来源:互联网 发布:mac安装windows 编辑:程序博客网 时间:2024/05/21 11:19

非模态建立  在主窗口的ok按钮中添加 

void CwscMFCDlg::OnBnClickedOk(){MyDlog * dlg = new MyDlog;dlg->Create(IDD_DIALOG1, this);dlg->ShowWindow(SW_SHOW);}



模态

void CwscMFCDlg::OnBnClickedOk(){MyDlog * dlg = new MyDlog;dlg->DoModal();}
有动态创建,就必须手动释放

释放方法有两种适合模态和非模态 :

一种是非模态对话框中重载函数 选择自己的类视图中的你自己的窗口类-> 右键属性->重载PostNcDestroy()

</pre><pre name="code" class="cpp">

void MyDlog::PostNcDestroy(){// TODO:  在此添加专用代码和/或调用基类delete this;CDialogEx::PostNcDestroy();}


第二种是消息释放:

void mydlog::onclose(){delete this;cdialogex::onclose();}



0 0