深入编程内幕——Visual C++
1
Page no. 1
深入编程内幕——VISUAL C++
EPUBCN.COM PUBLISHED
深入编程内幕——Visual C++
2
Page no. 2
一 走进 VISUAL C++.............................................................................4
1 理解 VC 工程....................................................................................4
2 MFC 编程特点 ..................................................................................5
3 使用 WIZARD...................................................................................6
二 MFC 程序结构分析 ............................................................................20
1 WINDOWS 程序工作原理.................................................................20
2 建立应用程序..................................................................................21
3 程序结构剖析..................................................................................22
3.1 类 CMYAPP ..........................................................................23
3.2 类 CMAINFRAME ..................................................................23
3.3 类 CMyView 与 CMyDoc..........................................................24
三 深入 MFC 类库 .................................................................................29
1 处理用户输入..................................................................................29
1.1 定义对话框资源........................................................................30
1.2 定义对话框类 ..........................................................................32
2 有关屏幕输出..................................................................................40
2.1 设备上下文工作原理 ..................................................................40
2.2 实例绘图原理剖析.....................................................................40
2.3 绘图操作实现 ..........................................................................41
2.4 有关屏幕映射方式.....................................................................43
3 文件处理..................................................................................46
3.1 对象持续化简述........................................................................46
3.2 实例分析................................................................................48
3.3 与文件处理关系密切的类 CFile .....................................................55
4 DAO 技术 ....................................................................................57
4.1 DAO 与 ODBC .......................................................................57
4.2 使用 MFC 实现 DAO 技术...........................................................57
5 打印 ............................................................................................61
5.1 打印和显示...............................................................................61
深入编程内幕——Visual C++
3
Page no. 3
5.2 打印分页 .................................................................................62
5.3 打印工作的开始和结束 .................................................................63
5.4 打印程序实例............................................................................63
四、VC 程序调试..................................................................................69
1.1 调试环境的建立........................................................................69
1.2 调试的一般过程........................................................................71
1.3 如何设置断点 ..........................................................................71
1.4 控制程序的运行........................................................................79
1.5 查看工具的使用........................................................................81
2 高级调试技术..................................................................................89
2.1 TRACE 宏的利用.......................................................................89
2.2 ASSERT 宏的利用.....................................................................90
2.3 ASSERT_VALID 宏的利用以及类的 AssertValid()成员函的重载 ..........90
2.4 对象的 DUMP 函数的利用 ............................................................91
3 内存漏洞的检查...............................................................................91
五 VISUAL C++与多媒体 ......................................................................94
1 对声音的处理.................................................................................94
1.1 媒体控制接口 ..........................................................................94
1.2 波形混音器...........................................................................108
2 多媒体文件 I/O ............................................................................110
3 多媒体图形图像技术........................................................................120
4 图像合成.....................................................................................135
5 FLC 动画 ....................................................................................138
6 热点 ..........................................................................................170
深入编程内幕——Visual C++
4
Page no. 4
一 走进 Visual C++
Visual C++作为一个功能非常强大的可视化应用程序开发工具,是计算机界公认的最
优秀的应用开发工具之一。Microsoft 的基本类库 MFC 使得开发 Windows应用程序比以
往任何时候都要容易。本光盘教学软件的目的就是为了让你学会在 Visual C++环境下,利
用微软的基本类库 MFC 开发出功能强大的 Windows应用程序。在本章节的内容当中,我们
将向您介绍使用 VC 开发软件需要用到的一些基本概念,使用 MFC 进行编程的基本特点,以
及 VISUAL C++集成开发环境提供的一系列编程辅助工具——WIZARD的使用方法。
1 理解 VC 工程
Visual C++作为一种程序设计语言,它同时也是一个集成开发工具,提供了软件代码
自动生成和可视化的资源编辑功能。在使用 Visual C++开发应用程序的过程中,系统为我
们生成了大量的各种类型的文件,在本节中将要详细介绍 Visual C++中这些不同类型的文
件分别起到什么样的作用,在此基础上对 Visual C++如何管理应用程序所用到的各种文件
有一个全面的认识。
首先要介绍的是扩展名为 dsw 的文件类型,这种类型的文件在 VC 中是级别最高的,称
为 Workspace 文件。在 VC 中,应用程序是以 Project 的形式存在的,Project 文件
以.dsp 扩展名,在 Workspace 文件中可以包含多个 Project,由 Workspace 文件对它
们进行统一的协调和管理。
与 dsw 类型的 Workspace 文件相配合的一个重要的文件类型是以 opt为扩展名的文
件,这个文件中包含的是在 Workspace 文件中要用到的本地计算机的有关配置信息,所以
这个文件不能在不同的计算机上共享,当我们打开一个 Workspace 文件时,如果系统找不
到需要的 opt类型文件,就会自动地创建一个与之配合的包含本地计算机信息的 opt文件。
上面提到 Project 文件的扩展名是 dsp,这个文件中存放的是一个特定的工程,也就是
特定的应用程序的有关信息,每个工程都对应有一个 dsp 类型的文件。
以 clw 为扩展名的文件是用来存放应用程序中用到的类和资源的信息的,这些信息是 VC
中的 ClassWizard 工具管理和使用类的信息来源。
深入编程内幕——Visual C++
5
Page no. 5
对应每个应用程序有一个 readme.txt 文件,这个文件中列出了应用程序中用到的所有
的文件的信息,打开并查看其中的内容就可以对应用程序的文件结构有一个基本的认识。
在应用程序中大量应用的是以 h 和 cpp 为扩展名的文件,以 h 为扩展名的文件称为头文
件。以 cpp 为扩展名的文件称为实现文件,一般说来 h 为扩展名的文件与 cpp 为扩展名的文
件是一一对应配合使用的,在 h 为扩展名的文件中包含的主要是类的定义,而在 cpp 为扩展
名的文件中包含的主要是类成员函数的实现代码。
在应用程序中经常要使用一些位图、菜单之类的资源,VC 中以 rc 为扩展名的文件称为资
源文件,其中包含了应用程序中用到的所有的 windows资源,要指出的一点是 rc 文件可以
直接在 VC 集成环境中以可视化的方法进行编辑和修改。
最后要介绍的是以 rc2 为扩展名的文件,它也是资源文件,但这个文件中的资源不能在
VC 的集成环境下直接进行编辑和修改,而是由我们自己根据需要手工地编辑这个文件。
对于以 ico,bmp 等为扩展名的文件是具体的资源,产生这种资源的途径很多。使用 rc
资源文件的目的就是为了对程序中用到的大量的资源进行统一的管理。
2 MFC 编程特点
如果你曾经使用过传统的 windows 编程方法开发应用程序,你会深刻地体会到,即使是
开发一个简单的 windows 应用程序也需要对 windows的编程原理有很深刻的认识,同时
也要手工编写很多的代码。因为程序的出错率几乎是随着代码长度的增加呈几何级数增长的,
这就使得调试程序变得非常困难。所以传统的 windows编程是需要极大的耐心和丰富的编程
经验的。
近几年来,面向对象技术无论是在理论还是实践上都在飞速地发展。面向对象技术中最重
要的就是“对象”的概念,它把现实世界中的气球、自行车等客观实体抽象成程序中的“对
象”。这种“对象”具有一定的属性和方法,这里的属性指对象本身的各种特性参数。如气球
的体积,自行车的长度等,而方法是指对象本身所能执行的功能,如气球能飞,自行车能滚动
等。一个具体的对象可以有许多的属性和方法,面向对象技术的重要特点就是对象的封装性,
对于外界而言,并不需要知道对象有哪些属性,也不需要知道对象本身的方法是如何实现的,
而只需要调用对象所提供的方法来完成特定的功能。从这里我们可以看出,当把面向对象技术
应用到程序设计中时,程序员只是在编写对象方法时才需要关心对象本身的细节问题,大部分
的时间是放在对对象的方法的调用上,组织这些对象进行协同工作。
评论1