|对话框与对话框数据传递|

来源:互联网 发布:mac 用什么三维软件 编辑:程序博客网 时间:2024/05/19 11:46
------------------------------------------------------------------------------------------
|对话框与对话框数据传递|
------------------------------------------------------------------------------------------
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;在其它的对话框中可以这样调用这个数据: 
1,
CMainApp *app = (CMainApp*)AfxGetApp(); 
app->m_p3;
2,
CFrameWnd *pFrame=(CFrameWnd *)(AfxGetApp()->m_pMainWnd);
  CMOfqk0028Doc * pDoc=(CMOfqk0028Doc*)pFrame->GetActiveDocument();
上面说的有可能朋友们看不懂,下面给个简单实现的代码:
   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是父类的指针,即


被调用类的指针。
-------------------------------------------------------------------------------------------
0 0
原创粉丝点击