VC对话框之间如何传递信息???
我的一个对话框是这样实现的voidCNo1Dlg::OnOK(){CNo2Dlgdlg;CNo2Dlg*pdlg=newCNo2Dlg();pdlg->Create(ID...
我的一个对话框是这样实现的
void CNo1Dlg::OnOK()
{
CNo2Dlg dlg;
CNo2Dlg *pdlg=new CNo2Dlg();
pdlg->Create(IDD_DIALOG2,this);
pdlg->ShowWindow(SW_SHOW);
CDialog::OnOK();
}
第2个对话框是通过对话框1上的BUTTON1按键打开的程序如下:
void CNo2Dlg::OnButton1()
{
CNo3Dlg dlg;
CNo3Dlg *pdlg=new CNo3Dlg();
pdlg->Create(IDD_DIALOG3,this);
pdlg->ShowWindow(SW_SHOW);
}
现在我想再2对话框上通过一个按键将在对话框2上读取的信息显示到对话框1的EDIT框。其中文件读取函数取下:
CString strSub;
CStdioFile myFile;
CFileException fileException;
if(myFile.Open(m_strFileName,CFile::modeRead),&fileException)
{
CString strContent;
int order=0;
while(myFile.ReadString(strContent))
{
if(1==order)
{
AfxExtractSubString(strSub, (LPCTSTR)strContent, 0, ',');
//AfxMessageBox(strSub);
}
order=order+1;
}
}
else
{
TRACE("Can't open file");
}
myFile.Close();
我的第一个对话框创建的类是 CNo2Dlg,我的第二个对话框创建的类是 CNo3Dlg。
求告诉怎么实现,网上查了好多,说传递父类指针,看了好久,没懂,我新手一个,求说详细点,谢谢,一共只有50分,全给了 展开
void CNo1Dlg::OnOK()
{
CNo2Dlg dlg;
CNo2Dlg *pdlg=new CNo2Dlg();
pdlg->Create(IDD_DIALOG2,this);
pdlg->ShowWindow(SW_SHOW);
CDialog::OnOK();
}
第2个对话框是通过对话框1上的BUTTON1按键打开的程序如下:
void CNo2Dlg::OnButton1()
{
CNo3Dlg dlg;
CNo3Dlg *pdlg=new CNo3Dlg();
pdlg->Create(IDD_DIALOG3,this);
pdlg->ShowWindow(SW_SHOW);
}
现在我想再2对话框上通过一个按键将在对话框2上读取的信息显示到对话框1的EDIT框。其中文件读取函数取下:
CString strSub;
CStdioFile myFile;
CFileException fileException;
if(myFile.Open(m_strFileName,CFile::modeRead),&fileException)
{
CString strContent;
int order=0;
while(myFile.ReadString(strContent))
{
if(1==order)
{
AfxExtractSubString(strSub, (LPCTSTR)strContent, 0, ',');
//AfxMessageBox(strSub);
}
order=order+1;
}
}
else
{
TRACE("Can't open file");
}
myFile.Close();
我的第一个对话框创建的类是 CNo2Dlg,我的第二个对话框创建的类是 CNo3Dlg。
求告诉怎么实现,网上查了好多,说传递父类指针,看了好久,没懂,我新手一个,求说详细点,谢谢,一共只有50分,全给了 展开
3个回答
展开全部
方法很多,我给你一中最简单的方法。
在CNo2Dlg.CPP中定义个全局变量,CString strMSG;
在CNo3Dlg.CPP中引用这个全局变量,extern CString strMSG;
在第二个对话框读完文件后,将要传递的字符串赋值到strMSG,然后给第一个对话框发一个消息,让他显示一下即可。
发消息方法会吗?
在CNo2Dlg.H中定义消息#define WM_GETTEXT WM_USER+100
CNo3Dlg.CPP包含这个头文件,然后读完文件SendMessage(第一个对话框句柄, WM_GETTEXT, NULL, NULL);
CNo2Dlg.CPP中加宏ON_MESSAGE(WM_GETTEXT, 处理函数)
具体后面的自己实现,说的太清楚,你印象就不深了。
在CNo2Dlg.CPP中定义个全局变量,CString strMSG;
在CNo3Dlg.CPP中引用这个全局变量,extern CString strMSG;
在第二个对话框读完文件后,将要传递的字符串赋值到strMSG,然后给第一个对话框发一个消息,让他显示一下即可。
发消息方法会吗?
在CNo2Dlg.H中定义消息#define WM_GETTEXT WM_USER+100
CNo3Dlg.CPP包含这个头文件,然后读完文件SendMessage(第一个对话框句柄, WM_GETTEXT, NULL, NULL);
CNo2Dlg.CPP中加宏ON_MESSAGE(WM_GETTEXT, 处理函数)
具体后面的自己实现,说的太清楚,你印象就不深了。
展开全部
在主对话框中声明一个成员变量,在二对话框中的类容赋给这个变量,然后在一对话框中去读取不就完了吗? 为什么要这么麻烦!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设置对话框1的EDIT控件变量,public的,再在类是 CNo3Dlg包含CNo2Dlg就可以啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询