我一个工程是多文档的.
我想在View里显示我自己定义的一个窗体.
XXXView.cpp OnCreate 里
{
         m_cDlg.Create(IDD_DIALOG_MAIN, this);
m_cDlg.ShowWindow(SW_SHOWNORMAL);
m_cDlg.SetParent( this );
}=== 我上面这么做是想这个窗体和view一样大小.显示出来是正确的..但是只要我在这个窗体上单击了右键..( 这个窗体就一个OnInitDlg, 其他都没有实现 )
再关闭整个App, 就会报错..我把 m_cDlg.SetParent( this ); 给注释掉, 再操作就很正常...不解..谁能告诉我问题出在哪? 是不是我这么做不行? 有其他办法吗? 在线等....

解决方案 »

  1.   

    用BCheck查看了一下.应该是在关闭窗体时.找寻这个窗体的父窗体出错.CWnd* pWndParent = (CWnd*)pMap->LookupPermanent(::GetParent(m_hWnd));=== 多文档不太熟.我应该重载哪个关闭函数, 先来关闭这个子窗体.
      

  2.   

    问题解决了.在view里添加了OnDestroy
    {
       m_cDlg.DestroyWindow();
    }多谢!! 
      

  3.   

     看Dlg的style是popup还是Child这很重要
      

  4.   

    或者在你自己定义的那个m_cDlg的析构函数里,DestroyWindow()