初学者问题:   我建立了一个基本对话框形式的工程(主对话框A),在其中添加了一个编辑框和一个按扭..单激按扭时候打开另一个对话框(新建对话框,添加新类B)。
   想实现读取新B某个编辑框内容,然后在A中显示出来.
   用消息来实现..  debug过程中,当我在B中用 Cwnd * m_pParent=GetParent() 得到m_pParent为空值0X00000000  
   请问怎么样才可以实现我要的功能啊?我点激A中按钮打开B,为什么不能得到A的句柄?

解决方案 »

  1.   

    1.在dlgB类中增加一个成员变量, dlgA* pDlg;
    2.写一个dlgB的constructor函数,参数为指向dlgA的指针
    3.在dlgA中用这个constructor来启动dlgB,注意constructor的参数是指向dlgA的指针
    4.在constructor中用参数给pDlg赋值,这时候你就可以用pDlg来操纵dlgA了
      

  2.   

    Dialog的构造函数中不是带有一个pParent参数吗,将父窗口传过去。
      

  3.   

    A::OnXXX()
    {B*  dlg;
    dlg.m_pa = this;
    dlg.DoModal();
    }
    B::XXX()
    {
      UpdateData();
      m_pa->SetData(m_strEdit);
    }
      

  4.   

    同意楼上:在 DlgB 类中定义一个指针 DlgA *m_dlgA; 
    在 DlgA 的按钮消息处理函数中 
    DlgA::On***()
    {
       DlgB dlg;
       dlg.m_dlgA = this;     
    }DlgB::***()
    {
       this->Update(false);
       m_dlgA->m_EditA.SetWindowText(m_strEditB);   
       //m_EditA表示A对话框中的编辑框
       //m_strEditB表示对话框B中的编辑框对应的变量
    }