我设计了基于对话框的应用程序,一个主对话框和两个子对话框,并为两个子对话框建立了新类,单击子对话框的某特定按钮可生成结果,现在我想将产生的结果在父对话框中的一个编辑框内显示出来,如何实现???
还有,如果子对话框类想利用父对话框编辑框的代码,如何实现???
谁能告诉我具体的操作过程,及实现代码??

解决方案 »

  1.   

    修改子对话框的构造函数,加个父对话框类的指针,当然你的子对话框的类中定义个CDialog的指针,来保存传递进来的父窗口类的指针
      

  2.   

    修改你的子对话框的类,比如你的父窗口类为CADlg, 子窗口类为CBDlg,修改你的CBDlg类
    例如:
    class CBDlg
    {
     protected:
     CWnd* pParentDlg; // 用来接收你的构造函数传递进来的指针
     ...
    }CBDlg::CBDlg(CWnd* pParent /*=NULL*/)
    : CDialog(CDDlg::IDD, pParent), pParentDlg(pParent)
    {
    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
    }这样你的pParentDlg就保存了父窗口类的指针了,你不定义成员利用直接利用 CWnd::GetParent()也可以得到父窗口类的指针.有了父窗口类的指针,你就可以调用父窗口提供的public的接口来操作了,或者发送消息给父窗口
      

  3.   

    GetParent 返回的就是父窗口的指针 不需要特意保存一个
    CParentDlg *pParent = (CParentDlg*)GetPrent();
    pParent->PostMessage(WM_CLOSE, 0, 0);
    pParent->OnCancel();
      

  4.   

    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);,加上这句调试出错,不加上可以运行。
      

  5.   

    第一个问题基本解决,请问第二个问题如何解决呢??
    如果子对话框类想利用父对话框编辑框的代码,这些代码是C/c++代码,怎样将这些代码发送到子对话框的应用程序中去呢,类似VC++的编程界面。
      

  6.   

    第一个问题基本解决,请问第二个问题如何解决呢??
    如果子对话框类想利用父对话框编辑框的代码,这些代码是C/c++代码,怎样将这些代码发送到子对话框的应用程序中去呢,类似VC++的编程界面。