比方说我们用Visio Studio创建了一个MFC应用程序,名称为Mysdi。在创建这个项目的时候,默认的会生成许多类和文件,就关于这些文件的内容和要点展开以下论述。

框架窗口类头文件

  向导为项目Mysdi生成了框架窗口类的头文件MainFrm.h,该头文件用于定义框架窗口类CMainFrame。不同的SDI应用程序,其框架窗口类名和文件名是统一的。CMainFrame类是MFC的CFrameWnd类的派生类,它主要负责创建标题栏、菜单栏、工具栏和状态栏。CMainFrame类中声明了框架窗口中的工具栏m_wndTooBar、状态栏m_wndStatusBar两个成员变量和四个成员函数。

框架窗口类实现文件

向导为项目Mysdi生成了框架窗口类的实现文件Mainfrm.cpp,该文件包含了窗口框架类CMainFrame的实现代码,主要是CMainFrame类成员函数的实现,它实现的框架窗口是应用程序的主窗口。

  CMainFrame类的4个主要成员函数中,AssertValid()和Dump()两个函数是用于调试的,其中AssertValid()用来诊断CMainFrame对象是否有效,Dump()用来输出CMainFrame对象的状态信息。第三个成员函数OnCreate()主要用来创建工具栏m_wndToolBar和状态栏m_wndStatusBar,而视图窗口是由基类CFrameWnd的成员函数OnCreate()通过调用OnCreateClient()函数创建的。第四个成员函数是虚函数PreCreateWindow(),如果要创建一个非默认风格的窗口,可以重载该函数,在函数中通过修改CREATESTRUCT结构参数cs来改变窗口类、窗口风格和窗口大小和位置等等。

文档类头文件

  向导为项目Mysdi生成了

MFC应用程序向导生成的文件的更多相关文章

  1. 程序自动生成Dump文件

    前言:通过drwtsn32.NTSD.CDB等调试工具生成Dump文件, drwtsn32存在的缺点虽然NTSD.CDB可以完全解决,但并不是所有的操作系统中都安装了NTSD.CDB等调试工具.了解了 ...

  2. 程序自动生成Dump文件()

    前言:通过drwtsn32.NTSD.CDB等调试工具生成Dump文件, drwtsn32存在的缺点虽然NTSD.CDB可以完全解决,但并不是所有的操作系统中都安装了NTSD.CDB等调试工具.了解了 ...

  3. VS2010 win32项目windows窗体程序 向导生成代码解析

    目录: 1.Win32项目的windows窗体程序的向导生成了如下代码 2.手工生成代码如下 3.当消息队列中没有消息需要处理,我们可以利用这段时间处理我们自己的任务 1.Win32项目的window ...

  4. c++ 程序崩溃生成Dump文件

    #include "Windows.h"#include "DbgHelp.h" int GenerateMiniDump(PEXCEPTION_POINTER ...

  5. windows程序崩溃生成dump文件

    第一种: 通过任务管理器:这种适用在程序挂了(crash)的时候进程还未退出,比如我运行程序,出现了下面的错: 此时打开任务管理器,右击相应进程,点击"Create Dump File“: ...

  6. VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)

    VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)-软件开发-鸡啄米 http://www.jizhuomi.com/software/141.html   上一讲中讲了VS20 ...

  7. VS2010-MFC(利用MFC向导生成单文档应用程序框架)

    一.VC++与MFC 讲VC++免不了要提MFC,MFC全称Microsoft Foundation Classes,也就是微软基础类库.它是VC++的核心,是C++与Windows API的结合,很 ...

  8. 魔改——MFC SDI程序 转换为 MDI程序

    ==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...

  9. 魔改——MFC MDI程序 定制 文档模板 运行时全部打开 禁用关闭按钮

    ==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...

随机推荐

  1. Android四大组件之服务-Service 原理和应用开发详解

    一.Android 服务简介 Service是android 系统中的四大组件之一(Activity.Service.BroadcastReceiver.ContentProvider),它跟Acti ...

  2. Objective-C中NSArray和NSMutableArray是如何使用的?

    Objective-C的数组比C++,Java的数组强大在于,NSArray保存的对象可以是不同的对象.但只能保存对象,int ,char,double等基本数据类型不能直接保存,需要通过转换成对象才 ...

  3. Java安全防御学习笔记V1.0

    Java安全防御学习笔记V1.0http://www.docin.com/p-766808938.html

  4. JS获取活动区域高和宽

    var width;            var height;            //获取窗口宽度            if (window.innerWidth)              ...

  5. 关于Ajax的实现

    AJAX:Asynchronous Javascript And XML.异步的JavaScript和XML. 同步请求: 异步请求: 1.1.1    XMLHttpRequest对象的介绍: 方法 ...

  6. 配置Linux数据转发(给其他接口转发一个接口的internet网络)

    配置Linux数据转发 [主机]第一步开启转发net.ipv4.ip_forward = 1echo "1" > /proc/sys/net/ipv4/ip_forward第 ...

  7. List中的get(i)

    List中的get(i)方法是获取List中的第i个对象吗 是第i+1个对象.List是从0开始的 List是有序的可重复的集合接口

  8. Activiti源码分析(框架、核心类。。。)

    http://jiangwenfeng762.iteye.com/blog/1338553 Activiti是业界很流行的java工作流引擎,关于Activiti与JBPM5的关系和如何选择不是本文要 ...

  9. 使用html5结构化元素

    显示的效果如上边这样,但是有没有发现内容的外侧没有边线(这个难道是因为浏览器不同吗?有待测试) html5中新增加的元素<header>可以明确的告诉浏览器此处是页头,<nav> ...

  10. C# 高精度求幂 poj1001

    高精度求幂 public static char[] exponentiation(string a,int r) { ]; string b = ""; string c = a ...