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是 父类的指针 ,即被调用类的指针。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值