MFC 应用程序编程 概述

时间:2021-09-10 08:48:37

 

一  MFC的发展

 VC 1.0 -> VC 5.0 -> VC 6.0 -> VS 2003 -> VS 2005 -> (VS 2008 SP1) -> VS 2010

二  MFC基础

  1 MFC 微软基础类库

    采用类的方式将Win32 API等进行封装,形成的类库。

  2 MFC相关头文件(大部分已afx开头,application framework, x 表示强大之意)

    afx.h    (application framework ,X  预定义头文件)

    afxwin.h  (类似于 windows.h)

    afxext.h    (MFC扩展头文件)

三  MFC 应用程序

分类:

  1 MFC控制台程序

      1.1 包含了afx系列的头文件

             1.2 CWinApp theApp —— MFC的应用程序类,封装了应用程序的启动过程

      1.3 AfxWinInit  MFC初始化 函数

        将应用程序程序的信息初始化

  2  MFC动态库和静态库

     2.1 静态库 增加了MFC的支持

              2.2 动态库

         2.2.1 MFC规则动态库

                                2.2.1.1 使用MFC静态库的规则DLL

                                2.2.1.2 使用MFC动态库的规则DLL

                        2.2.2 MFC扩展动态库

       2.3 不同

                     2.3.1 增加了MFC相关的afx头文件

                     2.3.2 包含了继承了CWinApp的类,并且声明了全局变量

          

    3 MFC应用程序

      3.1 单文档视图应用程序

      3.1.1 包含了一个继承CWinApp的类

                 3.1.2 CMainFrame 类

                 3.1.3 CView的一个子类

                 3.1.4 CDocument的一个子类

          3.2 多文档视图应用程序

      3.2.1 包含了一个继承CWinApp的类

                 3.2.2 CMainFrame 类

                 3.2.3 CView的一个子类

                 3.2.4 CDocument的一个子类

                 3.2.5 CChildFrame子框架窗口类

      3.3 对话框应用程序

      3.3.1 包含一个继承CWinApp的类

                 3.3.2 对话框类

四   MFC中的类

    1 CObject类

        MFC类基础,大部分MFC类都是CObject的子类或孙类

                       CObject封装了MFC的基础的机制

                       1.1 new,delete

                       1.2 Assert

                       1.3 运行时信息

                       1.4 动态创建

                       1.5 序列化

    2 应用程序框架类

                应用程序启动相关信息,以及MFC消息映射机制

           3 窗口支持类

               封装了窗口操作API,各种控件及窗口框架

           4 绘图类

               提供了绘图API的封装,以及相关的GDI设备封装

           5 集合类

             提供了数组,链表,映射的数据结构的操作

           6 数据库支持类

              ODBC支持类,DAO支持类(已作废)

           7 同步类

               临界区/事件/互斥/信号量的封装,

           8 Socket类

           9 常用数据结构类

             CString,CRect,CPoint等

五  第一个MFC程序

步骤:1 环境设置

              1.1 修改头文件

              1.2 在setting中增加MFC库支持

              1.3增加应用程序类支持

         2 增加应用程序类

             2.1 增加CWinApp的子类

             2.2 添加InitInstance函数

                  函数作用:完成应用程序初始化操作

             2.3 定义CMyApp的全局变量

                   名字不固定

         3 窗口

             3.1 添加CFrameWnd的子类CMyFrame

             3.2 在App的InitInstance函数中定义窗口对象

             3.3 创建窗口并显示

             3.4 将窗口设置成App的主窗口