两个对话框间的数据应该怎么传递
两个对话框间的数据应该如何传递
小弟现在在做一个温度采集系统,我在对话框1里有一个edit,它是用来显示下位机上传的温度值,然后双击他的一项button键打开第二个对话框,我想在第二个对话框里的edit里也同时实现对话框1中edit里的温度值。请问应该如何实现,好急, 请大家帮帮忙。
------解决方案--------------------
很多方法的,不一定非要用指针:
假设C1Dlg里的EDIT是 m_strD1;
C2Dlg里的EDIT是m_strD2;
//下面的
C2Dlg dlg;
UpdateData();
dlg.m_strD2 = m_strD1;
dlg.DoModal();
这样就行了,你的UpdateData(FALES);用错地方了,用在那只能改变C1Dlg的刷新.
------解决方案--------------------
要不试下windows定时器
首先还是用全局变量
在第二个对话框中设置一个ontimer函数
void 第二个对话框类::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
m_Edit=str;//全局变量赋给你的编辑框变量
UpdateData(FALSE);
CDialog::OnTimer(nIDEvent);
}
在你第一个对话框按钮事件中添加
Timer=SetTimer(1,1000,NULL);//就是设置多长时间去执行以上的函数,1000代表1秒
你可以试试,不知能帮上你的忙不?
小弟现在在做一个温度采集系统,我在对话框1里有一个edit,它是用来显示下位机上传的温度值,然后双击他的一项button键打开第二个对话框,我想在第二个对话框里的edit里也同时实现对话框1中edit里的温度值。请问应该如何实现,好急, 请大家帮帮忙。
------解决方案--------------------
很多方法的,不一定非要用指针:
假设C1Dlg里的EDIT是 m_strD1;
C2Dlg里的EDIT是m_strD2;
//下面的
C2Dlg dlg;
UpdateData();
dlg.m_strD2 = m_strD1;
dlg.DoModal();
这样就行了,你的UpdateData(FALES);用错地方了,用在那只能改变C1Dlg的刷新.
------解决方案--------------------
要不试下windows定时器
首先还是用全局变量
在第二个对话框中设置一个ontimer函数
void 第二个对话框类::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
m_Edit=str;//全局变量赋给你的编辑框变量
UpdateData(FALSE);
CDialog::OnTimer(nIDEvent);
}
在你第一个对话框按钮事件中添加
Timer=SetTimer(1,1000,NULL);//就是设置多长时间去执行以上的函数,1000代表1秒
你可以试试,不知能帮上你的忙不?