MFC中在一个对话框中改变另外一个对话框的成员变量

本文详细介绍了如何在MFC框架下,通过子对话框调用主对话框的公共变量和函数。具体步骤包括:在主对话框创建子对话框时传递自身指针,在子对话框构造函数中接收并保存主对话框指针,然后在子对话框中直接通过该指针调用主对话框的成员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

假设主对话框叫MainDlg,子对话框叫AccountsDlg,按下列步骤来:
第一步:在主对话框程序创建子对话框函数中: 
   CAccountsDlg dlg(this);//一定要加this,否则楼上几位说的都不可能实现你要求的,this是将MainDlg指针传递给AccountsDlg

第二步:在子对话框头文件中引用主对话框头文件,并添加主对话框指针变量: 

#include "MainDlg.h" 
Class CAccountsDlg ::public CDialog
{
    public:CMainDlg* pParentDlg;  
}


第三步:在子对话框程序构造函数中: (你该知道什么叫构造函数吧?就是以类名同名的那个函数)

pParentDlg = (CMainDlg*)pParent;   //这个pParent就是刚才this传递过来的


第四步:在子对话框的任意函数中自由改变主对话框的任意public变量,或调用主对话框的任意public函数

pParentDlg->variable = xxx;           //子-->主,变量
yyy = pParentDlg->GetValueFunction(); //主-->子,函数


   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值