非模态对话框有关问题

非模态对话框问题
一个主对话框A设有一个button按键。点击button按键,会弹出一个非模态对话框B,并且此对话框B嵌套于对话框A中。
问题:1、想求一个相关例程。
      2、我自行建立一个工程,第一次点击button能够弹出嵌套的对话框,而第二次点击button,就报错弹出一个“debug assertion failed”错误对话框!   我想知道报错的原因?如何解决。

------解决方案--------------------
第二次报错是因为你的非模态对话框已经创建了,
你再次创建就会报错!
在按钮中
 if (dlg.m_hWnd==NULL)  
    dlg.Create(..);
 
dlg.ShowWindow(SW_SHOW);
//如果你是定义为指针的话,自己转换一下就可以了

------解决方案--------------------
非模态对话框只能Create一次,后面即使你关闭,也是走的隐藏窗体的效果。

所以在OnInitDialog的情况下Create,然后在后面的都用ShowWindow来控制隐藏和显示就不会有楼主说的问题了。
------解决方案--------------------
成员变量:
CXXDlg* non;
构造函数:non = NULL;
单击按钮:
if(non == NULL)
{
  non = new CXXDlg();
  non->Create();
}
non->ShowWindow(SW_SHOW);
如果要删除:
non->DestroyWindow();
non = NULL;
------解决方案--------------------
嘿嘿,楼主分给我吧!
楼主你把那个对话框指针定义为类的成员变量,第一次按button,给他分配资源,加载对话框,当你关闭对话框时,分配的资源没释放。你第二次再按button再次使用这个指针调用create方法,对话框肯定会出现debug断言错误。
所以楼主最好将对话框指针定义为临时变量,同时记得释放资源。可以参考下面网站,如何释放非模态对话框资源。http://blog.csdn.net/whentanking/article/details/7371503