MFC程序中不同的对话框类传递数据

如何在MFC中不同的对话框类中传递数据,有两种方式: 

1. 在定义某一个对话框类之后,并且在调用DoModal之前把数据传过去,比如: 
对话框CTest1Dlg有一指针m_p1,对话框CTest2Dlg中有一指针m_p2,可以通过如下方式传递数据,在CTest1Dlg中: 
CTest2Dlg dlg; 
dlg.m_p2 = this->m_p1; 
dlg.DoModal; 


2. 通过全局的数据,这个数据应该是放在CxxApp类中的,比如: 
CMainApp中有一数据m_p3;在其它的对话框中可以这样调用这个数据: 
CMainApp *app = (CMainApp*)AfxGetApp(); 
app->m_p3;

上面说的有可能朋友们看不懂,下面给个简单实现的代码:
   CCellTrackDlg * pDlg = (CCellTrackDlg*)GetParent();
if(pDlg != NULL)
{
m_speed = pDlg->m_posRatio;
m_totle = pDlg->m_totalNum;
        }
在需要使用别的类数据中添加以上代码:  m_speed、 m_totle是本类的公有成员变量, m_posRatio、 m_totalNum是需调用类的公有成员变量,pDlg是 父类的指针 ,即被调用类的指针。

你可能感兴趣的:(MFC)