第5讲 MFC 编程基础1

发布时间:2021-06-08

C++ MFC

第7章

MFC编程基础

1、MFC概述

2、MFC层次结构及其子类功能3、MFC应用程序架构

4、基于框架的MFC应用程序分析

C++ MFC

7.1 MFC概述MFC:Microsoft Foundation Class首先:它是一个类库、功能是控制整个计算 机系统。 其次:它是一个面向对象的应用程序框架, 程序员可以使用这一框架创建 Windows应用程序。 同时:MFC的组织是以C++类层次形式组织 起来的,几个高层类提供一般功能, 而低层类实现更具体的功能,每一个低 层类都是从高层类派生而来,因此继承 了高层类的功能。

C++ MFC

所以:MFC是一种类的层次结构, 它提供了一个应用程序开发框架, 此框架称为文档/视图架构。 它对应的是Windows系统目录下 的一系列mfc*.dll文件。

C++ MFC

MFC的实质 MFC就是利用面向对象的思想,将数 据类型与Windows大部分API函数封 装起来的一个浩瀚的类库,利用MFC 编写程序本质上就是选择该类库中 合适的类,并调用其下相应成员函 数来完成某个功能。

C++ MFC

Win32数据类型UINT BYTE HANDLE HWND

WORDDWORD LONG WPARAM LPARAM LRESULT LPSTR LPCSTR

HDCHMENU HICON MSG WNDCLASS RECT POINT SIZE

C++ MFC

Win32API接口函数1、Windows消息函数 2、文件处理函数 3、网络函数 4、菜单函数 5、文本与字体函数 6、硬件与系统函数 7、控件和消息函数 8、位图、图标和光栅运算函数 9、绘图函数 10、打印函数 11、设备场景函数 12、进程和线程函数

C++ MFC

程序员如何去学习MFC

1、C++语言基础 2、Windows操作系统基础 3、面向对象程序观念的基础

抽象、封装、继承、多态

C++ MFC

站在OS角度上看程序1、执行程序的过程是OS完成任务的过程 2、程序执行一次是创建了一个进程,申请了 一个独立的内存空间。 3、程序和OS是通过事件驱动、消息机制通信 的 4、一个程序必有一个WinMain函数 5、一个程序必有一个窗口,进行输入输出 6、一个程序的启动过程,就是一个WinMain函 数的加载过程 7、一个程序至少由两部分组成: WinMain、WndProc

C++ MFC

面向对象观点看待Windows编程1、具有应用程序对象,功能包括: 注册窗口(填充窗口结构,注册窗口), 初始化程序实例(创建、显示、刷新)。 2、具有窗口对象,功能相当于WndPro 函数 3、保留WinMain函数,实现消息循环。 4、最好实现数据与显示分离。

C++ MFC

用面向对象观点重组API1、API是WIN32编程的重要基础2、关于应用程序对象 3、关于框架窗口对象 4、关于视图对象 5、关于文档对象 (数据与显示分离) 6、关于其它对象的API *重点是类和对象的概念关系*

C++ MFC

7.2 MFC层次结构

C++ MFC

MFC中类的层次结构MFC是一个包含了超过200个不同类的很 庞大的类库。利用他们,开发者可以 完成许多标准的Windows编程任务, 并且可以在应用程序中加入许

多复杂 的特性。在设计思想上,MFC将面向 对象的方法与事件驱动结合得很好, 因此要理解庞大的MFC类库中的常用 类的功能,要利用面向对象的思想进 行理解和分析。

C++ MFC

MFC的优点 1、MFC对于类、类的继承、封装、 多态性、类间关系和相互作用等 应用程序特性都有具体体现,可 以使开发者高效、轻松地建立 Windows应用程序,而不受设备 限制并且由事件进行驱动。

C++ MFC

2、MFC具有良好的通用性和可 移植性,它定义了应用程序的 轮廓,并提供了用户接口的标 准实现方法,程序员所要做的 工作就是通过VC所提供的各种 工具来完成这个工作。

C++ MFC

1、根类CObjectCObject类是MFC的抽象基类(不能派 生对象),是MFC中多数类和用户自 定义类的根类,它为程序员提供了 许多公共操作和基本服务。 主要包括:对象的动态建立与删除、 序列化(即串行化)的支持、对象 诊断输出、运行时信息管理以及集 合类的兼容等。 作用是,使得MFC以及基于MFC的应用 程序更加稳固和易于调试。

C++ MFC

根类CObject的组成

C++ MFC

2、消息映射类CCmdTarget该类是CObject的子类,是MFC类库中所 有具有消息映射属性的基类,消息映射规 定了当对象接到命令消息时,应调用哪一 个函数对该消息进行处理。 由CCmdTarget派生出的主框架类包括 CView、CWinApp、CDocument、CWnd和 CframeWnd都可处理命令消息。 程序员若需要一个新类来处理消息时, 可以从CCmdTarget派生出一个新类。一般 程序员很少从CCmdTarget类中直接派生出 新类,而是从其子类CView、CWinApp来派 生

C++ MFC

消息映射类CCmdTarget组成

C++ MFC

3、窗口应用程序类CWinApp每一个使用MFC的应用程序只能包 含一个从CWinApp派生的应用程序 对象,当VC的其它全局对象被构造 时,这个对象也同时被构造,当 Windows调用WinMain()函数时,产 生的对象已经有效了。从CWinApp 实例化的应用程序对象是一个全局 变量,在程序运行中该对象可以与 其它对象相互协调。

C++ MFC

4、应用程序类CWinApp组成(1)访问CWinApp对象以及全局函数。 AfxGetApp:获得一指向CWinApp对象 的指针 AfxGetResourceHabdle: 获得一应用程 序资源的句柄。 AfxGetAppName:获得指向一个包含应 用程序名的字符串的指针。 (2)CWinApp的公共数据成员 m_pszAppName:指定应用程序的名称。 m_nCmdShow:指定窗口的显示方式。 m_pMainWnd:包含一个指针,它指向 一个应用程序的主窗口。

C++ MFC

(3)CWinApp的公共成员函数 LoadCursor:调取光标资源。 LoadStandardCursor:调取Windows 预定义光标,在windows.h中指定IDC常 量。 LoadIcon:调取一个图标资源。 LoadStandardIcon:调取Windows预 定义的图标,在windows.h中 指定IDI常量。 OpenDocumentFile:框架调用此函数 打开一个指定的

文档。

第5讲 MFC 编程基础1.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219