我用vs2005 MFC制作了菜单,点击菜单后能弹出非模态对话框,请问怎么关闭这个非模态对话框?
展开全部
你好!不知道你是怎么创建的,一般在资源文件中插入一个对话框,创建时通过ID关联。打开对话框之后就可以点关闭或者OK按钮关闭的呀!
下面是创建代码:
CDialog *dlg=new CDialog();
dlg->Create(IDD_DIALOG1,this);
dlg->ShowWindow(SW_NORMAL);
下面是创建代码:
CDialog *dlg=new CDialog();
dlg->Create(IDD_DIALOG1,this);
dlg->ShowWindow(SW_NORMAL);
更多追问追答
追问
谢谢,这个我知道怎么创建,现在就是不知道怎么关闭,我是这么写的:
void Cmobile1View::OnBnClickedCancel()
{
Cmobile1View::DestroyWindow();
}
void Cmobile1View::PostNcDestroy()
{
Cmobile1View::PostNcDestroy();
delete this;
}
我试了用基于对话框的,再弹出一个对话框就可以关闭,不过我是建的基于单文档的,就是关闭不了,再麻烦您赐教一下,谢谢!
追答
你好!你的程序应该是在winCE下写的吧!你可以这样操作:
首先给对话框关联一个类:
CShowDlg *dlg=new CShowDlg();
dlg->Create(IDD_DIALOG1,this);
dlg->ShowWindow(SW_NORMAL);
创建非模态对话框。
然后在CShowDlg(你关联的类)中添加下面连个函数
void CShowDlg::OnBnClickedOk()
{
DestroyWindow();
}
void CShowDlg::PostNcDestroy()
{
CDialog::PostNcDestroy();
delete this;
}
这样点ok按钮就可以退出了
如果要点Cancel按钮退出,就需要在添加一个函数
void CShowDlg::OnBnClickedCancel()
{
DestroyWindow();
}
你试试看行不行
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询