一个问题,我老调不通!
有一个主对话框1上有个文本输入框控件,点击按钮弹出一个对话框2,关闭对话框2后将对话框2中的一个变量赋值到对话框1的文本输入框控件中,我该怎么做 问题点数:50、回复次数:8Top
1 楼cvn(cvn)回复于 2003-12-01 11:24:20 得分 0
是否可以通过全局变量得到对话框2的变量值。
Top
2 楼bohut(●伯虎● )回复于 2003-12-01 11:31:31 得分 0
对话框2 dlg;
if(dlg.DoModal()==IDCANCEL)
{
dlg.要传递的变量 = 对话框1中的edit;
}Top
3 楼Ariesman(苦行僧)回复于 2003-12-01 11:36:14 得分 0
Dlg1中变量 CString m_strOut;
Dlg2中变量 CString m_strIn;
CDlg2 dlg;
if(dlg.DoModal() == IDOK)
{
m_StrOut = dlg.m_strIn;
}
其中保护一下CDlg2的OnCancel,将其中的CDialog::OnCancel()屏蔽掉
两个变量可以用ClassWizard直接映射
Top
4 楼feng_me(哲哲)回复于 2003-12-01 11:36:29 得分 0
sendmessage也可以啊。Top
5 楼flyelf(空谷清音)回复于 2003-12-01 11:38:36 得分 10
为对话框1的文本框映射一个变量,如CString m_str1;
if(dlg2.DoModal() == IDOK)
{
m_str1 = dlg2.变量;
UpdateData(FALSE);
}
Top
6 楼afantict(非洲土狼)回复于 2003-12-01 11:51:33 得分 40
对话框2
void bad::OnOK()
{
CEdit* p;
p = (CEdit*)GetDlgItem(IDC_EDIT1);
p->GetWindowText(m_str); //m_str为该对话框类的public成员变量
CDialog::OnOK();
}
对话框1
#include "bad.h"
void CAabDlg::OnButton1()
{
bad a;
CEdit* p;
if(a.DoModal() == IDOK)
{
p = (CEdit*)GetDlgItem(IDC_EDIT1);
p->SetWindowText(a.str);
}
}
绝对没问题Top
7 楼bullcat(bullcat)回复于 2003-12-01 11:51:53 得分 0
我要在后弹出的对话框2的点击按钮后为对话框1的EDIT赋值,不是在对话框1取对话框2的值Top
8 楼bullcat(bullcat)回复于 2003-12-01 11:53:25 得分 0
先谢谢!我试试Top




