mfc中视图类为什么可以调用文档类成员函数?
比如在视图类调用文档类的成员函数public:CChap1_4Doc*GetDocument();...
比如在视图类调用文档类的成员函数 public: CChap1_4Doc* GetDocument();
展开
1个回答
展开全部
这个命题有点大,涉及MFC文档视图结构的基础定义。简单点说吧:
首先注意文件头包含顺序,必须是这样:
#include "testmfcDoc.h"
#include "testmfcView.h"
才能够在View类进行声明Doc
其次,在CView类中有一个protected变量:friend class CDocument,并声明了变量CDocument* m_pDocument,而GetDocument只是返回这个指针罢了。
最后就涉及文档视结构了,MFC在创建一个工程框架的时候,在Create一个Frame的时候就进行了文档和视图的绑定(一对一关系),这样才能彼此找到,这个不多说了,不是几句话就说的明白(因为还涉及框架和视图的关系,主框架和子框架的关系等等)。
如果需要研究,就系统的学习一遍MFC框架关系,如果只是好奇。。。上面说的对你编程了解应该足够了。
首先注意文件头包含顺序,必须是这样:
#include "testmfcDoc.h"
#include "testmfcView.h"
才能够在View类进行声明Doc
其次,在CView类中有一个protected变量:friend class CDocument,并声明了变量CDocument* m_pDocument,而GetDocument只是返回这个指针罢了。
最后就涉及文档视结构了,MFC在创建一个工程框架的时候,在Create一个Frame的时候就进行了文档和视图的绑定(一对一关系),这样才能彼此找到,这个不多说了,不是几句话就说的明白(因为还涉及框架和视图的关系,主框架和子框架的关系等等)。
如果需要研究,就系统的学习一遍MFC框架关系,如果只是好奇。。。上面说的对你编程了解应该足够了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询