我在第一个对话框中的editbox中输入一个数据,然后进入第二个对话框时,把这个数据写入第二个对话框的一个editbox,如何实现

解决方案 »

  1.   

    要在两个Dialog之间传递数据,或者两个对话框可以访问同样的数据源。
      

  2.   

    用SendMessage()消息发送,或用同一个全局变量
      

  3.   

    教你一个很弱但却好用的方法.
    EditBox1的EditChange事件中用GetDlgItem()方法取得EditBox1中输入的内容,并存入成员变量m_EditText中。
    在EditBox2的OnSetFocus事件中用SetDlgItem()方法将m_EditText的内容设置到EditBox2中。
      

  4.   


    三步走:1、取出【主对话框】编辑框中的字符串;2、打开【子对话框】;3、在【子对话框】打开时把这个字符串放入子对话框的编辑框中。/////////////////////////////////////假设 子对话框 表示为:  CChildDlg在 CChildDlg 类中加入成员变量 CString str;  用来保存 主对话框 编辑框中的字符串。1、首先,在 主对话框 的编辑框中输入字符串,如:"It is a true story."2、点击 主对话框 中的按钮,先获取上边的字符串,然后打开 子对话框;CChildDlg childDlg;  // 定义 子对话框 类GetDlgItemText( IDC_EDIT1 , childDlg.str );  // 获取编辑框中的字符串childDlg.DoModal();  // 打开 子对话框
    3、这里我们让 子对话框 打开时就显示字符串到 子对话框 中的编辑框中;BOOL childDlg::OnInitDialog()
    {
      CDialog::OnInitDialog();  SetDlgItemText( IDC_EDIT2 , str );  return TRUE;
    }
      

  5.   

    /////////////////////////////////////////////////////
    给CDlg1中的CEditCtrl关联变量CString m_strEdit1;
    给CDlg2中的CEditCtrl关联变量CString m_strEdit2;/////////////////////////////////////////////////////
    在CDlg1中显示CDlg2时:
    UpdateData(TRUE);
    CDlg2 dlg2;
    dlg2.m_strEdit2 = m_strEdit1;
    dlg2.DoModal();/////////////////////////////////////////////////////
    在CDlg2的OnInitDialog函数中添加:UpdateData(FALSE);