MFC 入门

目录

一、MFC概述

二、MFC程序分类

MFC控制台程序

MFC库程序

使用MFC制作静态库

MFC规则动态库

MFC扩展库

MFC窗口程序

三、MFC库中相关类简介


一、MFC概述

MFC :全称是Microsoft Foundation Class Library,我们称微软基础类库。它封装了windows应用程序的各种API以及相关机制的C++类库。

基于应用程序框架之上,使用提供的类库快速开发,提高项目的开发效率,减少开发周期和成本。

常用的头文件:

  • afx.h-将各种MFC头文件包含在内
  • afxwin.h-包含了各种MFC窗口类。包含了afx.h和windows.h
  • afxext.h-提供了扩展窗口类的支持,例如工具栏,状态栏等。

二、MFC程序分类

  • 控制台程序,能使用MFC框架
  • 窗口程序,能使用MFC框架
  • 静态库,能使用MFC框架
  • 动态库,能使用MFC框架

MFC控制台程序

创建Windows桌面程序向导

选择MFC标头 

和win32的控制台程序的差别

(1) main函数不同于普通的控制台程序;

(2) CWinApp theApp;多了一个全局对象

经验之谈∶

  • 以Afx开头可以确定为MFC库中的全局函数。
  • 以::开头可以确定为win32的API函数。
  • 以XXX::开头可以确定是类的成员函数

MFC库程序

使用MFC制作静态库

就是制作一个静态库,里面的函数是利用MFC实现的

创建Windows桌面程序向导

MFC规则动态库

使用MFC 动态连接库创建项目

可以在这里随时修改

  • 制作一个动态连接库,使用静态的MFC
  • 制作一个动态连接库,使用动态的MFC

可以修改

MFC扩展库

选择第三个即可

规则库可以被各种应用程序调用,而扩展库只能被MFC调用。

扩展库一般是对MFC库某些类的功能拓展,比如继承某个类扩展功能。规则库相是直接调用MFC库实现功能

MFC窗口程序

创建一个MFC应用

有多个MFC应用类型可供选择 

MFC文档类型使用场景:

  1. 基于对话框的 MFC 项目: 基于对话框的 MFC 项目是一种常见的 MFC 应用程序类型,它的主要界面是一个对话框窗口。对话框窗口通常包含了控件(如按钮、编辑框、列表框等)和菜单等元素,用于与用户交互。该类型的 MFC 项目适合处理简单的界面和交互逻辑。基于对话框的 MFC 项目适合处理简单的界面和交互逻辑;

  2. 基于单个文档的 MFC 项目: 基于单个文档的 MFC 项目是一种支持处理单个文档的应用程序类型,它包含了一个文档视图框架和一个文档类。该类型的 MFC 项目适合处理只有一个文档的应用场景,如文本编辑器等。基于单个文档的 MFC 项目适合处理只有一个文档的应用场景;

  3. 基于多个文档的 MFC 项目: 基于多个文档的 MFC 项目是一种支持处理多个文档的应用程序类型,它包含了一个文档视图框架和多个文档类。该类型的 MFC 项目适合处理多个文档之间相互关联的应用场景,如电子表格、绘图工具等。而基于多个文档的 MFC 项目适合处理多个文档之间相互关联的复杂应用场景。

单文档视图架构程序,下面的这些类负责程序架构

  • CWinApp-应用程序类,负责管理应用程序的流程
  • CFrameWnd-框架窗口类,负责管理框架窗口
  • CView-视图窗口类,负责显示数据
  • CDocument-文档类,负责管理数据

红色区域就是框架窗口,黄色区域是视图窗口,是覆盖在框架窗口的客户区之上的

多文档视图架构程序,下面的这些类负责程序架构

  • CWinApp-应用程序类
  • CMDIFrameWnd-多文档主框架窗口类
  • CMDIChildWnd-多文档子框架窗口类
  • CView-视图窗口类,显示数据
  • CDocument-文档类,管理数据

红色区域:主框架窗口;黄色区域:子框架窗口;视图窗口:子框架窗口中间的白色部分。

对话框应用程序,下面的这些类负责程序架构

  • CWinApp-应用程序类
  • CDialog-对话框窗口类

三、MFC库中相关类简介

CObject类:

  • MFC类库中绝大部分类的父类,提供了MFC类库中一些基本的机制。
  • 对运行时类信息的支持
  • 对动态创建的支持
  • 对序列化的支持
     

CWinApp类应用程序类,封装了应用程序、线程等信息。

CDocument类,文档类,管理数据

Frame Windows,框架窗口类,封装了窗口程序组成的各种瞭框架窗口

CSplitterWnd-用来完成拆分窗口的类

Control Bars-控件条类

Dialog Boxes -对话框类,封装了各种对话框,通用的对话框

Views-视图类,封装了各种显示窗口

Controls-控件类,封装了各种常用的控件

Exceptions-异常处理类,封装了MFC中常用的各种异常

File -文件类,各种文件的I/O操作等

绘图类,包括CDC类和CGdiObject类。

数据集合类,CArray/Clist/CMap,封装了相应的数据结构的管理

非CObject类的子类,提供了各种数据结构相关的管理,CPoint ,CTime , CString行

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dao-道法自然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值