鱼C论坛

 找回密码
 立即注册
查看: 2100|回复: 0

[技术交流] 对话框之间的数据传递

[复制链接]
发表于 2014-3-24 14:37:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

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

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

3、设全局变量(忽略)



函数法说明:

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


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

2  赋值时必须强制转化

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

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

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

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


参数法说明:

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

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

如:

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


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-25 13:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表