MFC如何使2个对话框传递数据

2024-10-29 23:11:40
推荐回答(4个)
回答1:

CAAADialog::OnXXXButton()
{
 CBBBDialog dlgb;
 if(IDOK==dlgb.DoModal())
 { CString str = dlgb.strData;
   m_list.AddString(str);
 }

}

CBBBDialog::OnOK()
{
 GetDlgItem(IDC_EDIT1)->GetWindowText(strData);
 CDialog::OnOK();
}
strData是自定义的 B对话框成员变量public

补充:微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。

回答2:

模态对话框,不能像热心网友说的那样操作,如果是非模态的话可以。
CAAADialog::OnXXXButton()
{
CBBBDialog dlgb;
if(IDOK==dlgb.DoModal())
{ CString str = dlgb.strData;
m_list.AddString(str);
}

}

CBBBDialog::OnOK()
{
GetDlgItem(IDC_EDIT1)->GetWindowText(strData);
CDialog::OnOK();
}

大概就是这个样子,strData是自定义的B对话框成员变量public

回答3:

用DDX!!!

需要获得另一个对话框的窗口句柄

回答4:

CParentDlg *parent=(CParentDlg*)GetParent();
parent->GetDlgItem()->SetWindowText()