一个主对话框上有个按钮,这个按钮被单击后,创建了一个一个模态对话框,用的是DoModal();
当这个模态对话框被销毁后,主窗口要做出响应(静态文本框的文字被改变)该怎么写????
可以的话顺表讲解一下子窗口和服窗口的消息传送。谢谢!!

解决方案 »

  1.   

    按钮命令里头..if(IDOK==dlg.DoModal())
    {
       这里改变文本框内容
    }子窗口是主窗口创建的,所以像这样销毁后程序流程可以继续处理啊
      

  2.   


    DoModal返回,子窗口就销毁了啊,然后就可以改变主窗口文本框了
      

  3.   

    简单写几句:
    Class FDialog : 父窗口
    Class SubDialog 子窗口
    CStatic m_cstTest 静态文本框 FDialog::OnOK()
    {
      SubDialog subDlg;
    subDlh.DoMadl();
    cstTest.SetWindowText("dsfsjf");
    }
      

  4.   


    void CMyDlg::OnGetdlg() 
    {
      if(IDOK==dlg.DoMOdal())
      {
          //改变文本内容
      }
    }
    这样就可以了吧  我试试
      

  5.   


    已经说得很明白了。
    子窗口给父窗口消息 afxgetmainwnd()->sendmessage(WM_YOUR_MSG,...); 后在父窗口ON_MESSAGE(WM_YOUR_MSG, YourProcessFunc)
      

  6.   

    我试过了  用这种方法的话   直接在子窗口上点右上角的关闭按钮能返回
    但是我用了EndDialog(0);这种方式销毁中间改变文本的语句就不会执行
      

  7.   

    我知道了应该改成EndDialog(1);
      

  8.   


    用EndDialog干嘛呢? 按OK DoModal就返回IDOK,按取消就返回IDCANCEL,点按钮后对话框都自动销毁,然后判断就行了