02MFC基础 - 图文

2019-01-26 17:05

第一篇 MFC编程

MFC是传统Windows编程的首选。MFC是Windows API的C++类封装,MFC应用程序框架,提供了文档视图结构和新消息映射机制。MFC编程是本书的重点,而本篇的重点则是用户界面编程和GDI绘图。本篇包含如下14章内容:

? 第2章 MFC基础 ? 第3章 界面编程1—菜单 ? 第4章 界面编程2—控制条 ? 第5章 界面编程3—对话框 ? 第6章 界面编程4—控件

? 第7章 界面编程5—鼠标、键盘与光标 ? 第8章 GDI编程1—绘图

? 第9章 GDI编程2—字体、位图与图标 ? 第10章 GDI编程3—动画

? 第11章 GDI编程4—图元文件与打印 ? 第12章 文档与视图

? 第13章 MFC功能包编程简介 ? 第14章 GDI+编程基础 ? 第15章 GDI+高级编程

1

第2章 MFC基础

MFC(Microsoft Foundation Class Library,微软基础类库)是Windows API的C++类封装,是一种基于Visual C++的应用程序框架,提供了文档视图结构和新消息映射机制,简化了Windows应用程序的编写。

本章先介绍Visual C++和MFC的基本情况,然后讨论Windows API和MFC编程的基本方法。

2.1 Visual C++简介

Visual C++是微软公司推出的基于C++语言的Windows集成开发环境,包含(用于普通Windows应用程序的)MFC、(用于COM组件开发的)ATL、(针对.NET编程的C++扩展)MC++和C++/CLI等多个功能模块,其中MFC是VC的主体。限于篇幅,本书只介绍MFC的基本编程方法。

早期是用C语言(如微软的MS C)直接调用SDK中的Windows API来开发Windows应用程序,由于需要亲自处理各种编程细节(如创建窗口和响应消息),加上Windows API有两千多个函数、几百个数据结构和变量类型,所以进行Windows 编程是一件非常困难与痛苦的事。

Visual C++采用OOP来进行Windows 编程,将API中的几千个函数、结构和变量类型封装在几百个C++类中(最常用的只有十几个类),简化了Windows编程。Visual C++的主体是MFC,它提供了具有文档视图结构的应用程序框架和全新的消息映射机制,屏蔽掉了许多繁琐的编程细节,提高了软件开发效率。

2.1.1 组成

Visual C++提供了强大而灵活的集成开发环境,可用于创建基于Windows和.NET的应用程序。Visual C++包含下列主要组件:

? Visual C++编译器工具。支持MFC和STL等传统本机代码开发,还支持MC++

(Managed Extensions for C++,C++的托管扩展)或C++/CLI的.NET(CLR)开发。除了支持传统的x86计算机外,还支持x64和IA-64等64位计算机,并针对这两

2

种平台优化了性能。

? Visual C++库。包括行业标准ATL(Standard Template Library,标准模板库,一套

基于模板的 C++ 类,可用来创建小型、快速的COM对象——AcyiveX控件)、确定应用程序框架的MFC库,以及各种C/C++标准库,如iostream库、(用于泛型编程的)标准模板库(Standard Template Library,STL)和C运行时库(C RunTime library,CRT)。其中在CRT中还包括了微软公司的安全增强替代函数。VC08中新引入的STL/CLR库,为托管代码开发人员引入了STL。具有数据封送新功能的C++支持库,可简化面向CLR的程序。

? Visual C++开发环境。该开发环境为项目管理与配置(包括更好地支持大型项目)、

源代码编辑、源代码浏览和调试工具提供强力支持。该环境还支持智能感知(IntelliSense),在编写代码时,该功能可以提供智能化且特定于上下文的建议。 除常规的图形用户界面应用程序外,Visual C++还允许开发人员生成Web应用程序、基于Windows的智能客户端应用程序以及适用于瘦客户端和智能客户端移动设备的解决方案。

Visual C++的具体组成部分有:

? C/C++编译器:支持ANSI C和ISO/IEC C++源代码的编译,支持STL,另外还带

有微软的扩展(MC++或C++/CLI)。

? 源代码编辑器:支持语法着色、自动缩进、完美打印、智能感知和自动完成(键入

部分语句后编辑器会自动提供可能的完整语句供你选择,从而不需死记几千个函数和常数,也不必过分依赖于联机帮助)。

? 属性编程:VS.NET为VC引入了基于属性的编程方法(可选“视图\\其他窗口\\属

性窗口”菜单项来打开属性窗口),可以自动生成各种代码,大大简化开发的过程。如可轻松地派生新类、编辑资源、添加事件/消息响应函数等。

? 资源编辑器:可视编程环境,可用来编辑对话框、位图、图标、字符串等资源。 ? 资源编译器:从资源编辑器或资源源文件(*.rc)中读取ASCII码的资源脚本,输出

一个可供链接程序用的二进制文件(*.res)。

? 链接程序:读取C/C++编译器输出的目标文件(*.obj)和资源编译器输出的二进制文

件(*.res),并为MFC代码、运行库代码和Windows代码访问LIB文件,最后生成可执行程序文件(*.exe)。 ?

调试程序:可设置/删除断点、控制单步执行、查看所有派生类和基类的数据成员、观察栈/内存/变量、动态修改程序代码和变量值。

3

? MFC应用程序向导(AppWizard):一个基本代码自动生成器,根据程序员在对话框

选择和指定的相关内容,VC自动创建一个带有特性、类名和源代码文件名的Windows应用程序框架,使你能迅速开始一个应用程序的实质性设计。

? 联机帮助:如安装了MSDN(Microsoft Developer Network Library,微软开发人员

网络图书馆),可选“帮助”菜单中的菜单项“目录”(内容目录)、“搜索”(关键词全文查找)、“索引”(前向一致标题文本串匹配)等获得帮助,也可按F1键获得当前位置的上下文相关帮助。MSDN内容丰富(可达2.5GB),包含使用VC编程所需要的Windows SDK、MFC、C++、.NET/CLR的几乎所有参考资料和示教、编程指南等。

与使用C++编写基于命令行的控制台程序最大的不同是,利用Visual C++编写(具有GUI)的Windows应用程序,带有菜单、工具条、对话框、图标、位图、字符串、加速键等资源。因此,在Visual C++的开发环境中,除了代码编辑器和编译器外,还有各种资源编辑器和资源链接器。编译后的二进制资源被链接器嵌入到可执行程序中,既在控制台程序的代码段、数据段和堆栈段之外,Windows应用程序还多了一个资源段。图2-1是Visual C++(MFC)应用程序的创建和编译过程。

Visual C++ 代码编译 Windows头文件 运行库头文件 源文件 资源头文件 (Resource.h) 资源编译 资源脚本文件(RC) 位图、图标等资源 MFC头文件 编译器 OBJ文件 Windows库、 MFC库、运行库 二进制资源文件(RES) 资源编译器 链接器 可执行程序(EXE) 图2-1 Visual C++的MFC应用程序的创建和编译过程

4

2.1.2 版本

下面列出Visual C++及对应MFC的所有主要版本: ? 1992年2月MS C/C++ 7.0 (MFC 1.0) ? 1993年2月Visual C++ 1.0 (MFC 2.0) ? 1993年12月Visual C++ 1.5 (MFC 2.5) ? 1994年9月Visual C++ 2.0 (MFC 3.0) ? (没有Visual C++ 3.0)

? 1995年7月Visual C++ 4.0 (MFC 4.0) ? 1996年3月Visual C++ 4.1 (MFC 4.1) ? 1996年6月Visual C++ 4.2 (MFC 4.2) ? 1997年1月Visual C++ 5.0 (MFC 4.21) ? 1998年6月Visual C++ 6.0 (MFC 6.0) ? 2002年2月Visual C++.NET (MFC 7.0)

? 2003年5月20日Visual C++.NET 2003 (MFC 7.1) ? 2005年11月7日Visual C++ 2005 (MFC 8.0) ? 2007年11月16日Visual C++ 2008 (MFC 9.0)

? 2008年4月7日Visual C++ 2008功能包(Feature Pack)(MFC 9.0 FP) ? 2008年8月11日Visual C++ 2008 SP1(MFC 9.0 FP) ? 2010年春计划推出Visual C++ 2010(MFC 10.0)

最早的MFC 1.0,是随MS C/C++ 7.0于1992年2月的,还没有IDE、应用程序框架和Visual C++,后来才随微软的可视开发平台Visual Workbench推出Visual C++。到Visual C++ 2.0,已经基本成熟。为了使MFC的版本号与Visual C++的一致,微软跳过了Visual C++ 3.0而直接升级到4.0。

从Visual C++ 4.0开始,直到Visual C++ 2008,MFC类库和基本编程都变化不大,开发环境也类似。只是为了进行.NET的CLR托管编程,从Visual C++.NET开始,微软对C++的语法进行了托管扩展——MC++,从Visual C++ 2005版起又改为C++/CLI。不过(包括在Visual Studio 2008 SP1中文版中的)MFC Feature Pack for Visual C++ 2008(MFC的Visual C++ 2008功能包,简称为MFC功能包)中,引入了众多的新界面元素和功能(如功能区、可视主题、Aero界面),增加了两百多个新的MFC类。

5


02MFC基础 - 图文.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:加气混凝土砌块墙施工方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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