第1章 Visual C++ 6.0简介 1
1.1 Visual C++ 6.0概述 1
1.2 Visual C++ 6.0用户界面 2
1.2.1 工程工作区 2
1.2.2 Developer Studio的菜单体系 6
1.3 使用Class Wizard 20
1.3.1 Message Maps标签 20
1.3.2 Member Variables标签 21
1.3.3 Automation标签 22
1.3.4 ActiveX Events标签 23
1.3.5 Class Info标签 24
1.4 建立第一个Windows应用程序 24
1.4.1 建立应用程序框架 25
1.4.2 应用程序代码分析 31
1.4.3 Hello,World! 34
1.5 本章小结 35
第2章 多媒体编程基础 36
2.1 多媒体文件 36
2.1.1 多媒体文件格式 36
2.1.2 从RIFF文件中获得信息 37
2.2 媒体控制接口(MCI) 38
2.2.1 MCI设备类型 38
2.2.2 MCI函数接口 38
2.2.3 MCI命令消息 41
2.3 DirectX概述 43
2.3.1 DirectX的优越性 43
2.3.2 COM与DirectX对象 43
2.3.3 DirectX对象简介 44
2.4 本章小结 45
第3章 波形音频 46
3.1 波形音频概述 46
3.1.1 波形音频文件的质量 46
3.1.2 波形音频文件的格式 47
3.2 波形音频的处理函数 50
3.3 使用MessageBeep播放波形音频 50
3.4 使用PlaySound播放波形音频 51
3.5 使用MCI播放波形音频 54
3.5.1 波形音频常用的MCI命令和标志 54
3.5.2 波形音频的MCI编程步骤 55
3.5.3 建立处理波形音频的类 56
3.6 设计一个波形音频播放器 62
3.6.1 创建应用程序框架 62
3.6.2 制作应用程序界面 62
3.6.3 添加消息处理函数 63
3.6.4 完成应用程序功能设计 64
3.7 使用低级设备函数播放波形音频 71
3.7.1 波形低级设备函数 71
3.7.2 低级波形设备函数编程 72
3.8 本章小结 74
第4章 MIDI音频 75
4.1 MIDI概述 75
4.1.1 MIDI消息 75
4.1.2 MIDI文件的格式 76
4.2 使用MCI播放MIDI 77
4.2.1 MIDI常用的MCI命令和标志 77
4.2.2 MIDI的MCI编程步骤 78
4.2.3 建立处理MIDI的类 80
4.3 设计一个MIDI播放器 89
4.3.1 创建应用程序框架 89
4.3.2 制作应用程序界面 89
4.3.3 添加消息处理函数 90
4.3.4 完成应用程序功能设计 91
4.4 使用低级设备函数播放MIDI音频 97
4.4.1 MIDI低级设备函数 97
4.4.2 MIDI低级设备函数编程 98
4.5 本章小结 99
第5章 CD音频 100
5.1 CD音频概述 100
5.2 使用MCI播放CD 100
5.2.1 CD常用MCI命令和标志 101
5.2.2 CD音频的MCI编程步骤 101
5.2.3 建立处理CD音频的类 103
5.3 设计一个CD音频播放器 116
5.3.1 创建应用程序框架 116
5.3.2 制作应用程序界面 117
5.3.3 添加消息处理函数 118
5.3.4 完成应用程序功能设计 118
5.4 本章小结 125
第6章 数字视频 126
6.1 数字视频概述 126
6.2 使用MCI播放数字视频 126
6.2.1 数字视频的常用MCI命令和标志 127
6.2.2 数字视频的MCI编程步骤 129
6.2.3 建立处理数字视频的类 132
6.3 设计一个数字视频播放器 142
6.3.1 创建应用程序框架 142
6.3.2 制作应用程序界面 142
6.3.3 添加消息处理函数 145
6.3.4 完成应用程序功能设计 146
6.4 本章小结 153
第7章 制作媒体播放器 154
7.1 制作处理媒体文件的动态链接库 154
7.1.1 动态链接库概述 154
7.1.2 制作自己的动态链接库 155
7.2 设计媒体播放器 156
7.2.1 建立应用程序框架 156
7.2.2 制作应用程序界面 156
7.2.3 应用程序完成的功能 159
7.2.4 应用程序的设计 159
7.3 本章小结 168
第8章 DirectDraw基础 169
8.1 DirectDraw概述 169
8.1.1 DirectDraw的优越性 169
8.1.2 DirectDraw术语 170
8.1.3 DirectDraw功能 174
8.2 DirectDraw数据结构 174
8.2.1 DDBLTBATCH结构 175
8.2.2 DDBLTFX结构 177
8.2.3 DDCAPS结构 179
8.2.4 DDCOLORKEY结构 180
8.2.5 DDOVERLAYFX结构 180
8.2.6 DDPIXELFORMAT结构 181
8.2.7 DDSCAPS结构 182
8.2.8 DDSURFACEDESC结构 185
8.3 DirectDraw API 186
8.3.1 DirectDraw对象 187
8.3.2 DirectDrawSurface对象 194
8.3.3 DirectDrawPalette对象 206
8.3.4 DirectDrawClipper对象 207
8.4 本章小结 209
第9章 DirectDraw应用 210
9.1 DirectDraw基础编程 210
9.1.1 DirectDraw对象编程 210
9.1.2 Hello,DirectDraw! 215
9.2 使用DirectDraw显示位图 222
9.2.1 调色板的创建和设置 222
9.2.2 将位图载入后备表面 224
9.3 离屏表面和Blitting编程 227
9.3.1 创建离屏表面 228
9.3.2 将位图载入离屏表面 228
9.3.3 Blitting操作编程 229
9.4 颜色键和位图动画 231
9.4.1 设置颜色键 231
9.4.2 制作动画效果 233
9.5 调色板动画 237
9.5.1 载入调色板项 237
9.5.2 改变调色板 238
9.6 设计DirectDraw可重用函数 238
9.7 本章小结 241
第10章 DirectInput和DirectSound 242
10.1 DirectInput概述 242
10.1.1 DirectInput与Windows 242
10.1.2 DirectInput术语 242
10.1.3 DirectInput设备常量 244
10.2 DirectInput API 245
10.2.1 IDirectInput接口API 245
10.2.2 IDirectInputDevice接口API 247
10.3 DirectInput设备编程 251
10.3.1 DirectInput键盘编程 252
10.3.2 DirectInput鼠标编程 256
10.3.3 DirectInput游戏杆编程 263
10.4 DirectSound编程 268
10.4.1 DirectSound对象初始化 268
10.4.2 创建DirectSoundBuffer对象 268
10.4.3 播放声音 269
10.4.4 销毁DirectSound对象 270
10.5 本章小结 271
第11章 StackUp 272
11.1 游戏概述 272
11.2 游戏设计要点 273
11.2.1 游戏程序结构设计 273
11.2.2 CStackUpApp类 274
11.2.3 CStackUpWnd类 276
11.2.4 CStackUp类 276
11.3 本章小结 280