在没有对OnClose()重写前关闭子对话框不会关闭主对话框的啊
重写OnClose() 如下怎么关闭子对话框主对话框也关闭了呢
在重写OnClose()的情况下如何防止主窗口关闭啊 谢谢 
void TextChar::OnClose() 
{
Client * pTemp=new pClient;
pTemp->Command("exit cmd");
CDialog::OnClose();
}

解决方案 »

  1.   

    这是子窗体的 
    void TextChar::OnClose() 

    Client * pTemp=new pClient; 
    pTemp->Command("exit cmd"); 
    CDialog::OnClose(); 
      

  2.   

    Client * pTemp=new pClient; 
    pTemp->Command("exit cmd"); 这两句对父窗口有什么影响?
      

  3.   

    关闭子对话框可以用OnOk()和OnCancel()吧
      

  4.   

    对父窗体没有一点关联的啊 
    Client * pTemp=new pClient; 
    pTemp->Command("exit cmd"); 
    是自己创建的通用类
      

  5.   

    顺便也处理下主窗体的OnClose()呗 
      

  6.   

    class TextChar 从哪继承来的,干什么的?
      

  7.   

    OnClose()好像会PostQuitMessage,所以会退出
      

  8.   

    Command("exit cmd"); 这个函数的代码干什么用的,其中有没有调用关闭程序的代码?
      

  9.   

    父窗口的 OnClose 也重写。
    不调用CDialog::OnClose(); 
      

  10.   

    可能是调用了 PostQuitMessage
    我重写主窗体的OnClose 试试吧
      

  11.   

    首先你要搞明白一件事情:OnClose不是用来“关闭”窗口的,而是在“关闭”窗口的时候被调用的,所以只要你没有其他代码去“关闭”程序是不会出现你说的情况的。严重怀疑是pTemp->Command("exit cmd")里面的问题。
      

  12.   

    pTemp->Command("exit cmd"); 
    你这是想做什么?
      

  13.   

    小弟请教:Command怎么用法的?是什么意思,我怎么在MSDN里面没找到啊
      

  14.   

    14楼说对了是pTemp->Command("exit cmd")问题造成主窗体的关闭
    Command()函数加了句exit(0); 晕 菜