MFC初学者:MFC程序中类之间的相互访问的常规方法。

本文介绍了MFC初学者如何理解和实现类之间的相互访问,特别是在基于文档-视图结构的应用中。主要讨论了应用类、主框架类、子框架类、视图类和文档类之间的指针获取方法,以及全局API函数如AfxGetApp()和AfxGetMainWnd()在类间访问中的应用。此外,还提及了在多文档界面应用程序中关闭所有子窗口的示例代码。

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

         这是本人在学习MFC的过程中整理的,其实就是一小篇学习笔记,算不得什么文章,共享出来只是希望能够给那些MFC初学者一点点帮助,并且希望得到老鸟们的指正。呵呵,闲话不说进入正文。
         基于文档-视图结构的应用程序,可以将数据从用户对数据的观察中分离起来。在此类应用程序中,数据一般放在文档类中,而应用的显示一般由视图视图类负责。以显示图像为例,图像的数据存放在文档类中,要在试图类中显示图像则要获得文档类中的数据。如果利用AppWizard创建的应用程序,在视图类中有一个GetDocument()的成员函数可以获得文档类的指针,利用文档类的指针就可以获得文档类的数据。但在MFC程序中类之间变量的互相访问并不仅限于此,以多文档界面应用程序为例,程序中主要包含试图类 、文档类、 MDI子框架类 、MDI父框架类和应用类。另外还有用户生成的其他对话框类等等。如何实现这些类之间的变量的互相访问,是MFC编程初学者应该要搞懂的问题,也是本文要讨论的问题。

         一般来说,要想在一个类中访问到另外一个类中的变量(Public),最容易想到的就是得到想要访问类的指针。想要访问类的指针的获取一般采用的方法是利用特定的全局API函数和各个类(访问类)提供的成员函数。在获取特定类指针的函数中最主要的两个函数就是:获取应用类指针的AfxGetApp()函数和获取主框架类指针的AfxGetMainWnd()函数。只要灵活的应用好这两个函数,遍基本上就可以实现类之间变量的相互访问。具体讨论如下:
1.主框架类访问其他类变量的方法
可以用函数AfxGetApp()获取应用类的指针,代码如下:
CClass***App *m_pApp=(CClass***App *)AfxGetApp();
为了获取当前活动的子框架类的指针,主框架类主要提供了两个成员函数:MDIGet

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值