mfc 为什么关闭子对话框就退出程序 20
4个回答
展开全部
要说清什么样的程序,看看子对话框显示后面的代码是怎样的.
追问
就是在父对话框中:CCHILDDLG dlg;dlg.DoModal();
弹出子对话框,子对话框是关闭那个红叉叉整个程序就退出了
追答
第一,你看看CCHILDDLG 中关闭的代码是否有关闭整个进程的动作
第二,如果第一条的情况不存在,就把CCHILDDLG dlg;dlg.DoModal();代码注释掉,看看还有那个现象吗,如果仍有,就是你的程序的设计问题了
好好查查代码吧
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.把父对话框的句柄传给子对话框,如下:mytestdlg dlg(this); dlg.DoModal();
2.在子对话框中响应ON_WM_CLOSE()消息(通过子对话框属性可直接得到响应函数OnClose)
3.在OnClose()函数中,发送一个关闭消息给父对话框就可以了如下:
void mytestdlg::OnClose()
{
::DestroyWindow();
CDialog::OnClose();
}
注意:m_pParent就是上面传入的this
2.在子对话框中响应ON_WM_CLOSE()消息(通过子对话框属性可直接得到响应函数OnClose)
3.在OnClose()函数中,发送一个关闭消息给父对话框就可以了如下:
void mytestdlg::OnClose()
{
::DestroyWindow();
CDialog::OnClose();
}
注意:m_pParent就是上面传入的this
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
能不能,把你的代码段贴出来看看啊?你是不是在点红叉的时候做的处理就是退出程序啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是否把函数写到子对话框的类里了?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询