关于MFC中App、MainFrame、Doc、View、ChildFrame的关系

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于MFC中App、MainFrame、Doc、View、ChildFrame的关系相关的知识,希望对你有一定的参考价值。

在创建一个MFC Application后,会自动生成这些类,这些类之间的关系是什么,我知道的很模糊,想深入了解一下,跪请高手赐教!

它们都是类的声明。
MFC 程序入口 是 隐藏起来的。
程序里有一个 CXxxxApp theApp; 生成 一个对象,这是可见的程序起点。

自动生成的MFC 程序,主要结构叫 Doc-View,程序员主要工作量在这两个类。 Doc 用来读入数据,存放不时变化的数据和现场。View用来画图画窗打印等做工作。

View 用 CXxxxDoc* pDoc = GetDocument(); 获得Doc里的数据,更新Doc里的数据。Doc-View 纽带就是这句东西。

MainFrame 用OnCreate(..) 建程序主视窗。
ChildFrame 子窗。一般用在平行作业(多文件)。
参考技术A App--应用程序类
MainFrame--主框架类
Doc---文档类
View--视图类
ChildFrame--子框架类
具体关系,Frame包含View,Doc是看不到的,存储数据,它的外在表现形式是View,App是整个程序运行的保证,也是看不见的。
说白了,Frame, View都是窗口,是可见的。
如果想深入了解,参见深入浅出MFC(第二版),候捷著。
参考技术B 才给5分...
我拿两分走人了。
这个一两句扯不清楚。你最好买本书。。
参考技术C 推荐 孙鑫的 深入详解VC++ 看明白了 可以看 侯捷的深入浅出MFC~

MFC打开系统关于对话框

HICON Icon =  LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME)); //IDR_MAINFRAME为图标的ID
::ShellAbout(m_hWnd,TEXT("Demo"),TEXT("本程序版权归XXX所有"),Icon);

 

以上是关于关于MFC中App、MainFrame、Doc、View、ChildFrame的关系的主要内容,如果未能解决你的问题,请参考以下文章

如何在MFC应用程序中添加文档菜单?

mfc怎么设置全局变量

MFC - 替换默认应用程序图标

如何在 MFC 的 CWnd 中显示 CFormView?

哪位高手能告诉我这个新手下面那个关于MFC的简单问题

MFC:修改生成exe文件图标