我用vs2005 MFC制作了菜单,点击菜单后能弹出非模态对话框,请问怎么关闭这个非模态对话框?

点确定、取消,或是右上角的ok都行,只要能关掉就行,需要具体代码,谢谢!!... 点确定、取消,或是右上角的ok都行,只要能关掉就行,需要具体代码,谢谢!! 展开
 我来答
SmallMsy
2011-06-07 · TA获得超过126个赞
知道小有建树答主
回答量:183
采纳率:0%
帮助的人:219万
展开全部
你好!不知道你是怎么创建的,一般在资源文件中插入一个对话框,创建时通过ID关联。打开对话框之后就可以点关闭或者OK按钮关闭的呀!
下面是创建代码:
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();
}
你试试看行不行
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式