有两个对话框Dialog1和Dialog2。 Dialog1(对话框)中有两个编辑框和一个按钮1,点击按钮1后弹出Dialog2(模态)
Dialog2中有两个Combo Box(组合框)和一个按钮2,现在需要点击按钮2后,关闭Dialog2并将两个组合框中选择的内容传递回Dialog1中的两个编辑框中显示,请问该怎样实现。下面是Dialog2中按钮2的部分代码:(m_ComboBox1、m_ComboBox2是Combo Box的变量 m_no、m_name是两个编辑框的变量)
UpdateData(TRUE);
CDlg1 dlg;
CString str1,str2;
int i=m_ComboBox1.GetCurSel();
m_ComboBox1.GetLBText(i,str1);
dlg.m_no=str1; int j=m_ComboBox2.GetCurSel();
m_ComboBox2.GetLBText(j,str2);
dlg.m_name=str2; UpdateData(FALSE);
OnOK();
点击按钮后,编辑框中没有任何显示,请问该怎样写???在线等待!!!
Dialog2中有两个Combo Box(组合框)和一个按钮2,现在需要点击按钮2后,关闭Dialog2并将两个组合框中选择的内容传递回Dialog1中的两个编辑框中显示,请问该怎样实现。下面是Dialog2中按钮2的部分代码:(m_ComboBox1、m_ComboBox2是Combo Box的变量 m_no、m_name是两个编辑框的变量)
UpdateData(TRUE);
CDlg1 dlg;
CString str1,str2;
int i=m_ComboBox1.GetCurSel();
m_ComboBox1.GetLBText(i,str1);
dlg.m_no=str1; int j=m_ComboBox2.GetCurSel();
m_ComboBox2.GetLBText(j,str2);
dlg.m_name=str2; UpdateData(FALSE);
OnOK();
点击按钮后,编辑框中没有任何显示,请问该怎样写???在线等待!!!
void CDlg2::OnOK()
{
int i = m_ComboBox1.GetCurSel();
m_ComboBox1.GetLBText(i,m_strComBox1); int j=m_ComboBox2.GetCurSel();
m_ComboBox2.GetLBText(j,m_strComBox2);
OnOK();
}void CDlg1::OnTest()
{
UpdateData(TRUE); CDlg2 dlg2;
if (IDOK == dlg2.DoModal())
{
m_no = dlg2.m_strComBox1;
m_name = dlg2.m_strComBox2;
} UpdateData(FALSE);
}
m_no = dlg2.m_strComBox1;
m_name = dlg2.m_strComBox2;
这两句有问题吧,m_strComBox1、m_strComBox2有不是CDlg2的成员?
我的Dialog2 本来就是通过Dialog1中.DoModal得到的呀,现在要将Dialog2中的Text传到Dialog1,总不能再Domodal吧 要不然就有两个Dialog1了呀?
CDlg1 * m_dlg1;void CDlg2::OnOK()
{
int i = m_ComboBox1.GetCurSel();
m_ComboBox1.GetLBText(i,combox1); int j=m_ComboBox2.GetCurSel();
m_ComboBox2.GetLBText(j,combox2);
UpdateData(true); m_dlg1 = new CDlg1();
m_dlg1-> m_no = this.combox1; m_dlg1->m_name = this.combox2; UpdateData(true); OnOK();
}
CDlg2 dlg2;
void CDlg1::OnTest()
{
dlg2.DoModal();
}