02MFC基础 - 图文(2)

2019-01-26 17:05

本书的VC部分,采用Visual C++ 2008(简称为VC08) SP1中文专业版作为教学版本,主要内容为传统Windows应用程序的MFC编程。书中的大部分MFC程序代码也适用于老版本的Visual C++ 6.0/.NET/2005(项目需要自动转换,而且可能需要修改项目属性中的字符集设置——从默认的“使用Unicode字符集”改为“多字节字符集”)。

本书中的所有例子都在Windows XP SP3中文版下运行通过。

2.1.3 编程平台

Visual C++编程平台可以开发多种Windows应用程序,还能为用户项目自动创建若干相关目录和各种有关文件。

1.开发种类

VC主要可以开发下列四类程序:

? Win32:直接使用C/C++语言和Win32/64 API来开发传统的Windows应用程序(本

章会略有涉及,以后将不再介绍)。

? MFC:使用MFC类库来开发C++语言的Windows应用程序(是本书讲授的重点

内容)。

? ATL:使用ATL来为开发COM(Component Object Model,组件对象模型)对象

——ActiveX控件(本书不讲,只会在组件编程中简介使用已有的ActiveX控件进行应用编程)。

? CLR:使用MC++或C++/CLI开发基于.NET框架类库的CLR程序(本书不讲,只

介绍如何使用Visual C# 来进行.NET编程)。

VC还可以用于开发本地应用程序的空项目(常规)、用于Windows Mobile和其他基于Windows CE设备的使用 MFC的项目(智能设备)、包含测试的项目(测试),参见图2-2。

6

图2-2 Visual C++可创建的新项目种类

2.解决方案与项目

VC开发环境把应用程序放在解决方案(solution)中管理(解决方案对应于文件*.sln),一个解决方案中可以有多个项目(project,工程)(项目对应于文件*.vcproj),每个项目对应于一个应用程序(application)、动态链接库(DLL)、或COM组件(如ActiveX控件)。可通过双击sln文件或vcproj文件来启动VS/VC并装入对应的解决方案和项目。

在开发过程中,VC会自动创建若干目录(参见表2-1)和多种文件(参见表2-2):

表2-1 VC自动创建的目录

目录名

说明

用户命名的程序名 解决方案目录(可无)

用户命名的程序名 项目目录(为解决方案目录的子目录)

Debug Release res

调试目录(为项目目录的子目录) 发行目录(为项目目录的子目录) 资源目录(为项目目录的子目录)

表2-2 VC自动创建的文件类型(按字母升顺序排列) 扩展名 bmp cpp

所在目录 res 项目

说明

位图(工具条位图Toolbar.bmp) C++源代码

7

dep exe h htm ico idb ilk

Debug|Release 清单依存(mt.dep) Debug|Release 可执行文件

项目

头文件

Debug|Release 网页(生成日志BuildLog.htm)

res

图标

Debug|Release 最小重建依存 Debug|Release 增量连接器

manifest Debug|Release 程序清单(XML文档) ncb obj pch pdb rc rc2 res sln suo txt user vcproj

方案|项目

智能感知数据库

Debug|Release 编译后的对象 Debug|Release 预编译头文件 Debug|Release 程序调试数据库

项目 res

资源脚本

非VC资源编辑器生成的资源脚本

Debug|Release 已编译的资源脚本 方案|项目 方案|项目 项目 项目 项目

解决方案 解决方案用户选项 文本(ReadMe.text) 项目用户选项 项目

3.窗口组成

VS/VC开发平台的主窗口由如下几个部分组成(参见图2-3):

? 标题条(顶):显示当前开发的应用程序名,形为:应用程序名 — Microsoft Visual

Studio

? 菜单栏(上):包含文件、视图、项目、生成、调试、工具、测试、窗口、社区、

帮助等菜单,可完成VS/VC的所有功能

? 工具条(上):包含若干图形按钮和下拉式列表框,对应于某些常用的菜单项或命

令的功能,简单形象,可方便用户操作。

8

? 项目工作区(中左):包含解决方案资源管理器、类视图、属性管理器、资源视图

等多个页面,用于组织和选择项目、文件、类和资源,配置项目属性等。 ? 编辑区(中右):用于程序的源代码和资源的编辑,含起始页

? 工具区(右边):包含工具箱、服务器资源管理器等可以滑出的隐藏页面 ? 输出区(下):包含输出、代码定义窗口和调用浏览器等页面,用于显示操作的结

果和出错信息、相关定义和帮助信息等

? 状态条(底):显示当前操作或所选菜单/图标的提示信息

图2-3 Visual C++ 2008的界面

注意:在第一次启动VS时,可以选择一种开发环境的种类,常用的是“Visual C++开发设置”和“常规开发设置”。也可以在以后的开发过程中,通过选择“工具\\导入和导出设置”菜单项,打开“导入和导出设置向导”对话框,重新设置开发环境的种类。

上面描述的是“Visual C++开发设置”的默认环境。环境可以通过手工拖动、钉住等操作,或选择“视图”菜单中的各种菜单项来进行修改和调整。

4.命令操作方法

与其他应用程序一样,在VS/VC中,同样的操作可以用三种不同的方法来完成:

9

? 选菜单项:功能全、层次多、操作慢,如“调试\\启动调试” ? 按工具条上的图标按钮:形象、较快、功能不全,如? 按快捷健:快、开始时难记、功能不太全,如F5

有工具条按钮的菜单项的左边有对应的按钮图标;有快捷健的菜单项的右边写有快捷(组合)健。

2.1.4 宽字符

由于Windows NT/2000/XP/Vista/7的系统内部采用的都是Unicode字符编码,所有字符(包括ASCII字符和汉字)都使用双字节编码。所以在Visual C++和MFC编程中,一般需要使用双字节的宽字符类型wchar_t和对应的字符数组及其指针类型。微软还为Win32 API定义了若干与宽字符有关的typedef类型。

宽字符类型和函数是C和C++标准(ANSI/ISO/IEC C 1999和ISO/IEC C++ 1998/2003)新增加的内容,用于支持国际通用的Unicode(1993)字符集。微软公司从Visual C++ 2005版起,开始严格执行C++的新标准。

安全CRT函数是微软公司对C/C++语言的扩展,其中的部分内容已于2003年提交给ISO作为C/C++标准下一版本的修改建议。在VC08中,如果不使用这些安全性函数,编译器会报告警告性错误。

在MFC编程中,一般需要使用双字节的字符类型wchar_t和对应的字符串及其指针类型LPCWSTR和LPCTSTR,并在常数字符串前添加了L转换运算符,串长计算函数不能用strlen而改用wcslen,串格式打印函数也不能用sprintf,而是改用swprintf_s,其中的字符和串格式符也从%c和%s改为%lc和%ls。例如:

wchar_t *wstr = L\int n = wcslen(wstr); wchar_t buf[80];

swprintf_s(buf, 80, L\

1.宽字符类型

wchar_t类型,在标准C++中为内置的数据类型和关键字,在C标准中则只是typedef类型。类型名wchar_t源于wide character type(宽字符类型),而后缀_t为C语言对typedef

10


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

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

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

马上注册会员

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