vc new的对话框如何删除

 我来答
Rudiestf
推荐于2016-04-22 · TA获得超过260个赞
知道小有建树答主
回答量:244
采纳率:0%
帮助的人:199万
展开全部
在c++中,new的对象只能利用delete删除。
1)建议在类中(例如CMyView,也可以是CMyDoc)添加一个成员变量:CMyDlgClass * m_pDlg;
2)在该类的构造函数里添加:m_pDlg = NULL;
3)在CMyView种添加函数:void ClearDlg();其实现的代码为:
void CMyView::ClearDlg()
{
if(m_pDlg!=NULL){
m_pDlg->DestroyWindow();
delete m_pDlg;
m_pDlg = NULL;
}
}
4)在CmyView的析构函数里添加:ClearDlg();
5)在需要的消息响应函数里调用对话框,可以:
ClearDlg();
m_pDlg = new CMyDlgClass();
m_pDlg->DpModal();
......

想衣裳这样的写法,可以比较好的实现面向对象的思路。
希望对您有所帮助!
她是我的小太阳
高粉答主

推荐于2016-04-18 · 醉心答题,欢迎关注
知道顶级答主
回答量:5.1万
采纳率:83%
帮助的人:9074万
展开全部
在c++中,new的对象只能利用delete删除。
1)建议在类中(例如CMyView,也可以是CMyDoc)添加一个成员变量:CMyDlgClass * m_pDlg;
2)在该类的构造函数里添加:m_pDlg = NULL;
3)在CMyView种添加函数:void ClearDlg();其实现的代码为:
void CMyView::ClearDlg()
{
if(m_pDlg!=NULL){
m_pDlg->DestroyWindow();
delete m_pDlg;
m_pDlg = NULL;
}
}
4)在CmyView的析构函数里添加:ClearDlg();
5)在需要的消息响应函数里调用对话框,可以:
ClearDlg();
m_pDlg = new CMyDlgClass();
m_pDlg->DpModal();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
相思丶猫2C
2012-05-17 · TA获得超过1198个赞
知道小有建树答主
回答量:1432
采纳率:50%
帮助的人:959万
展开全部
既然是new的,那么应该是非模态dlg。
NonModal *nm = new NonModal();
nm->DestroyWindow(); 删除窗口
delete nm; 删除对象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式