首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

在MFC中展示一个对话框,并在关闭后销毁它

2014-07-21 
在MFC中显示一个对话框,并在关闭后销毁它我要实现的功能是在对话框中单击“显示”按钮时,弹出另外一个非模态

在MFC中显示一个对话框,并在关闭后销毁它
    我要实现的功能是在对话框中单击“显示”按钮时,弹出另外一个非模态对话框。我添加的响应事件是这样的:
void CMy51Dlg::OnBnClickedButton1()
{
dlg.Create(IDD_DIALOG1);
dlg.ShowWindow(SW_SHOW);
}
    这样是可以实现这个功能,但是有一个问题,关闭这个弹出的对话框后,再点击原来那个“显示”按钮,会出现这个问题:
在MFC中展示一个对话框,并在关闭后销毁它
    可能是没有销毁这个窗口,另外,我想再加一个按钮“隐藏”,单击这个按钮时这个对话框会隐藏起来,再单击“显示”,对话框又显示出来,在单击“隐藏”,对话框又可以隐藏……请问这个功能如何实现?
    谢谢大家关注!
[解决办法]
这个Dlg是类成员变量,因为反复create所以出错。


void CMy51Dlg::OnBnClickedButton1()
{
dlg.Create(IDD_DIALOG1);
dlg.ShowWindow(SW_SHOW);
dlg.DestroyWindow();//销毁
}

[解决办法]
直接在Dialog初始化的时候Create一次。
最好用指针。
CDialog * dlg = new CDialog;
dlg->Create((IDD_DIALOG1)  //注意参数


void CMy51Dlg::OnBnClickedButton1()

  if(!bflag)
 {
  dlg->ShowWindow(SW_SHOW);
  bflag = TRUE;
 }
 else
 {
    dlg->ShowWindow(SW_HIDE);
     bflag = FALSE;
 }
}



[解决办法]
dlg是成员变量,在初始化的时候MAIN DLG的时候就用 二楼的方法 创建出来,  之后只是修改对应的showWindow属性的值就好

热点排行