新手学习中 发表于 2014-3-24 14:37:09

对话框之间的数据传递

对话框之间的数据传递就是获取对方类this指针。(得到this就能得到一切)

1、函数法(获取主对话框指针,获取父对话框指针)

2、传参数法传递this 初始化类成员变量

3、设全局变量(忽略)



函数法说明:

1 MFC函数获得主对话框 :CMainFrame *pMain = (CMainFrame*)AfxGetMainWnd();
2 MFC函数获得上一级对话框:CWnd* GetParent( )


说明:
1AfxGetMainWnd(); GetParent( ); 这里都是MFC函数,对API封装,不用写参数但是默认传了本窗口的this指针。如果是API则需要传句柄,返回句柄。

2赋值时必须强制转化

返回值是CWnd* 类型,指针小能指大,大赋小。因为基(小)不可赋派(大),派(大)可直接赋基(小)

3 可连续调用GetParent( )来获得上上级指针。如:

Cmydialog * p = (Cmydialog *) GetParent( );

p->GetParent( );//返回上上级指针(需强转)


参数法说明:

成员变量,其实就是成员函数的参数。因为成员函数里可以直接拿来用。

给成员变量初始化,就相当于是给成员函数传递参数(参数可能被用到,也可以不用)

如:

在父窗口代码领域中,新建了一个子窗口对象。然后把父窗口this指针赋值给子类对象的一个成员变量。储存起来。在子类窗口代码领域中,再拿出来使用。


页: [1]
查看完整版本: 对话框之间的数据传递