vc new的对话框如何删除
3个回答
展开全部
在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();
......
想衣裳这样的写法,可以比较好的实现面向对象的思路。
希望对您有所帮助!
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();
......
想衣裳这样的写法,可以比较好的实现面向对象的思路。
希望对您有所帮助!
展开全部
在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();
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();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
既然是new的,那么应该是非模态dlg。
NonModal *nm = new NonModal();
nm->DestroyWindow(); 删除窗口
delete nm; 删除对象
NonModal *nm = new NonModal();
nm->DestroyWindow(); 删除窗口
delete nm; 删除对象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询