父窗口中:
void CmyCommDlgsDlg::OnBnClickedButton1()
{
//显示一个子窗口类的实例.
CMySubDlg dlg;
//m_pPWnd是在子窗口类中用户自定义的公共 CWnd * 型变量.
//用来在子窗口显示时得到主窗口指针.
dlg.m_pPWnd = this;
dlg.DoModal();//DoModal 会自动销毁
}
void CmyCommDlgsDlg::OnBnClickedButton2()
{
MessageBox (m_strText);//m_strTest 是本窗口的公共变量.
}
子窗口中:
void CMySubDlg::OnBnClickedButton1()
{
UpdateData(FALSE);
//和父窗口控件通信,m_pPWnd 中已经存入父窗口指针.
CString strText;
GetDlgItemText(IDC_EDIT1,strText);
strText = "子窗口传来的数据:" + strText;
m_pPWnd->SetDlgItemText(IDC_EDIT1,strText);
//和父窗口变量通信.
((CmyCommDlgsDlg *)m_pPWnd)->m_strText = strText;
UpdateData(TRUE);
OnOK();
}