MFC问题,如果我一个对话框的要访问另外一个对话框的成员变量,应该怎么做?

给点具体点好吗 举个列子 光说太抽象了

假设有2个对话框A、B,对应的类为:CADlg、CBDlg
对话框A想访问对话框B的成员变量m_bData,那么m_bData就必须声明为public类型,
然后在CADlg里面定义一个CBDlg的实例m_bDlg,这样在对话框A就可以通过m_bDlg.m_bData的方式
访问对话框B的成员变量m_bData了
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-09-26
方法很多,最简单的是把要访问的成员变量设置成公共,即将其移到public:后。或者通过消息发送响应来获取也比较简单( SendMessage/PostMessage - ON_MESSAGE(WM_XXX, OnXXX) )。当然还可以通过一些其他的进程间通信的方式例如管道、共享内存等方式来做,具体看你的需求
第2个回答  2010-09-26
另外一个对话框你成员变量设为公有
你的App类加一个公有字段引用另一个对话框

访问的时候先获取App,再访问。

MFC问题,如果我一个对话框的要访问另外一个对话框的成员变量,应该怎么...
对话框A想访问对话框B的成员变量m_bData,那么m_bData就必须声明为public类型,然后在CADlg里面定义一个CBDlg的实例m_bDlg,这样在对话框A就可以通过m_bDlg.m_bData的方式 访问对话框B的成员变量m_bData了

MFC中一个对话框上编辑框怎么和另一个对话框关联
当你用一个对话框调用另一个对话框的功能函数时,要注意类的封装性问题。简单来说,就是当你在对话框A内要使用对话框B的一部分功能(假如说想调用对话框B的成员函数C),那么你必须先在对话框A的cpp函数中包含对话框B的头文件,还必须注意C里面所操作的变量不能有对话框B的私有成员变量。也就是说...

在MFC中,一个类如何调用其他类的变量和函数??
1、最简单就是声明友元了(friend)2、继承也是一种方法 3、把你要调用的那个类的变量函数声明为静态的(static),因为静态的变量函数可以直接访问的,当然需要考虑权限问题。

MFC一个对话框通过指针访问另一个对话框的函数会指针失效是为什么?
对话框对象的生命周期问题:当从一个对话框访问另一个对话框的指针时,需要确保在访问期间,被访问的对话框对象是存活的。如果被访问的对话框对象已经被销毁,那么指针将指向无效的内存地址,导致指针失效。对话框指针未初始化:在访问另一个对话框的函数之前,需要确保已经正确地获取了目标对话框的指针。...

MFC如何实现对话框见的切换?
1,新建对话框类ADlg,类BDlg,并且把属性设置为Child, border属性设置为None 2,把ADlg类,BDlg类的生命周期设置为主对话框成员函数,或者静态,或者全局,反正不要弄成局部变量就行 3,你可以在主对话框里面设置一个组合框 ID=IDC_Groupbox,为了的把它设置为新建对话框ADlg,BDlg的父窗口,...

MFC怎么点击让另一个对话框显示
首先要看你对话框是模态还是非模态。以模态为例:按钮响应消息函数最后增加代码:CDialog::OnOk();在调用该对话框处调整如下代码:CDialog dlg1,dlg2;if(dlg1.DoModal()==IDOK)dlg2.DoModal();

MFC对话框中,怎么把父对话框中的参数值传递到子对话框中进行计算?
那么在子对话框中就可以得到主对话的指针 用GetParent()获取父窗口指针。设你主对话框类为CMyDialog.CMyDialog *pDlg = (CMyDialog *)GetParent()->GetParent();pDlg->函数或变量;任选一种 以第一种举例,修改你的CMODJC类的构造函数,比如 C\/C++ code cpp中构造函数的定义 望采纳~

MFC机制里一个简单问题.就是从一个类中调用另一个类的变量.我定义了一...
不是很清楚你的问题,我就以自己的理解来说吧。我知道有两种方法来解决这个问题:1、定义一个全局变量,这样的话你在任何类中的调用都可以;2、定义一个静态成员变量,该变量只有在第一次声明一个类变量时才被初始化,以后的类的生命中都不会改变这个值,除非你认为的改变 ...

MFC 怎么在对话框类中访问view类成员
有很多种方法可以 ,我介绍两种:第一种:CMainFrame *pFrameWnd = (CMainFrame*)AfxGetApp()->GetMainWnd;pFrameWnd->GetActiveView();第二种是利用全局变量the App,在CMyAPP这个类里有一个申明的全局变量。:theApp.GetMainWnd()->GetActiveView();...

MFC 如何在一个对话框中修改另一个对话框里按钮的标题?
并给grade类添加成员变量 LPCTSTR m_btTitle;(这里我任意取名)然后给在grade的虚函数OnInitDialog里面判断 if(m_btTitle)SetDlgItemTextA(IDC_BUTTON1, m_btTitle);使用时 grade dlg("hh", this);dlg.DoModal();如果不修改文本可以 grade dlg(NULL, this);dlg.DoModal();如果要在对话框已经弹出...

相似回答