vc++6.0中文档、视图与框架的互相调用
2011-07-26 17:02
260 查看
vc++6.0中的文档、视图、框架与应用程序类之间只有部分可以直接调用,其他都是通过间接调用实现的。下边用一个MFC直接生成的单文档程序My为例。四个类分别问CMyApp、CMyDoc、CMainFrame、CMyView。
一、AfxGetApp()与AfxGetMainWnd()
theApp是程序的起点,在程序的任何地方都可以通过AfxGetApp()函数获得该指针。它返回的对象是CWinapp类的指针,因此必须转型为自己生成的应用程序的指针。
AfxGetMainWnd()函数用来获得框架的指针,该函数的返回对象是CWinThread类的指针,因此也必须转型为用户程序框架类的指针。
在应用程序类中,也可以通过m_pMainWnd指针获得指向框架的指针,其实AfxGetMainWnd()函数就是返回的该变量。
二、通过框架获得其他各项的指针
要注意这些指针都必须通过转型。
三、视图中获得文档的指针
视图中获得文档的指针是不需要转型的,因为一旦产生了视图,其对应的文档的类型就是确定的了,而且也是唯一确定的
四、其他情况
对于其他情况,可以利用第一种情况下的两个函数来获得框架的指针,然后就可以根据第二种情况获得其他所有类的指针。
参考资料:
http://hi.baidu.com/fireaxe_hq/blog/item/f06be5b4d05d54728bd4b2a0.html
一、AfxGetApp()与AfxGetMainWnd()
theApp是程序的起点,在程序的任何地方都可以通过AfxGetApp()函数获得该指针。它返回的对象是CWinapp类的指针,因此必须转型为自己生成的应用程序的指针。
AfxGetMainWnd()函数用来获得框架的指针,该函数的返回对象是CWinThread类的指针,因此也必须转型为用户程序框架类的指针。
在应用程序类中,也可以通过m_pMainWnd指针获得指向框架的指针,其实AfxGetMainWnd()函数就是返回的该变量。
CMySApp *myApp = (CMyApp*)AfxGetApp(); CMainFrame. *myFram = (CMainFrame*)AfxGetMainWnd(); CMainFrame. *myFram = (CMainFrame*)(myApp->m_pMainWnd); |
要注意这些指针都必须通过转型。
CMyView *myView = (CMyView*)GetActiveView(); CMyDoc *myDoc = (CMyDoc*)GetActiveDocument(); CMyApp *myApp = (CMyApp*)AfxGetApp(); |
CMyDoc *myDoc = GetDocument(); |
四、其他情况
对于其他情况,可以利用第一种情况下的两个函数来获得框架的指针,然后就可以根据第二种情况获得其他所有类的指针。
参考资料:
http://hi.baidu.com/fireaxe_hq/blog/item/f06be5b4d05d54728bd4b2a0.html
相关文章推荐
- vc++6.0中文档、视图与框架的互相调用
- vc 6.0中文档、视图与框架的互相调用
- 文档类、子框架类及视图类的关系及如何相互调用
- 文档,视图,框架类之间的关系及其互相调用
- 文档类、子框架类及视图类的关系及如何相互调用
- 框架、文档、视图类之间的调用关系
- 框架、文档、视图类之间的调用关系
- 框架、文档、视图类之间的调用关系
- 框架类、视图类、文档类互相调用的方法总汇
- MFC应用程序之视图、文档、框架、应用程序类对象间的相互引用及调用
- 框架、文档、视图类之间的调用关系
- 以纯c++/c的思想理解 MFC文档/视图/框架 相互调用关系
- [MFC小笔记]框架/文档/视图之间的调用关系
- 框架、文档、视图类之间的调用关系
- VS2010/MFC编程入门之四十一(文档、视图和框架:分割窗口)
- MFC中框架文档视图结构的命令路由处理
- mfc:单文档中对话框类调用视图类和框架类成员变量的实例
- 文档视图框架操作总结
- VS2010/MFC编程入门之四十(文档、视图和框架:各对象之间的关系)
- MFC多文档框架视图页面添加IE内核浏览器