本帖最后由 u011110626 于 2013-06-18 10:16:40 编辑

解决方案 »

  1.   

    用消息传到父窗口
    getparent
      

  2.   

    父窗口:
    void CADlg::OnBnClickedSet()
    {
    CsetDlg dlg;
    dlg.DoModal();
    }
    子窗口:
    void CsetDlg::OnBnClickedOk()
    {
    CWnd* p_w=this->GetParent();
    CString StrID;
    this->GetDlgItemText(ID_EDIT,StrID);
    (p_w->GetDlgItem(IDC_EDITstr))->SetWindowText(StrID);
    }
      

  3.   

    父窗口:
    void CADlg::OnBnClickedSet()
    {
    CsetDlg dlg;
    dlg.DoModal();
    }
    子窗口:
    void CsetDlg::OnBnClickedOk()
    {
    CWnd* p_w=this->GetParent();
    CString StrID;
    this->GetDlgItemText(ID_EDIT,StrID);
    (p_w->GetDlgItem(IDC_EDITstr))->SetWindowText(StrID);
    }
      

  4.   

    我需要的strID的值存在哪里了呢?
      

  5.   


    谢谢你的帮助 我还有些不很清楚 
    1、请问我需要的strID的内容存在哪里了呢 ?
    2、(p_w->GetDlgItem(IDC_EDITstr))->SetWindowText(StrID);的意思是什么?
    3、IDC_EDITstr是谁的ID?
      

  6.   

    “编辑框ID:ID_EDIT”
    用向导 关联为 CString (m_strEdit)
    对话框 OK时:
    CString strNewID = dlg.m_strEdit;
    注意 m_strEdit 一定要 关联为 CString 不能为 Edit 控件。(对话框 OK 后 控件会 消失)
      

  7.   

    void CADlg::OnBnClickedSet()
    {
    CsetDlg dlg;
    dlg.DoModal();
    MessageBox(dlg.m_strEdit);//改成你要干的事
    }
    “编辑框ID:ID_EDIT”
    用向导 关联为 CString (m_strEdit)
    对话框 OK时:
    UpdateData();//要先更新一下数据
    CString strNewID = dlg.m_strEdit;
    CDialogEx::OnOK();
    注意 m_strEdit 一定要 关联为 CString 不能为 Edit 控件。(对话框 OK 后 控件会 消失)
      

  8.   

    自己试试啊,你整个里面只有两个ID_EDIT
    IDC_EDITstr是父窗口的ID_SET
      

  9.   

    总结发言:
    父窗口获取子窗口的指针用FindWindow();
    子窗口获取父窗口的指针用GetParent();一旦获取到了对应窗口的指针,那么再取其上面的控件内容就很容易了GetDlgItemText( , )