第一章 VB5的新功能 1
1.1 32位编程未被所有的人采用的原因 1
1.2 有关Windows NT的情况 1
1.3 Visual Basic 5的新功能 2
1.3.1 原生代码编译 2
1.3.2 小型代码使用的P-Code 2
1.3.3 比尔·盖茨说:“更迅速的窗体!” 2
1.3.4 ActiveX控制的创建 3
1.3.5 32位编程 3
1.3.6 资源文件支持 3
1.3.7 新的数据库功能 3
1.3.8 多媒体的即插即用 4
1.4 16位应用程序编程 5
1.4.1 使用条件编译 5
1.5 小结 7
第二章 Visual Basic 5满足多媒体需求 8
2.1 交互式操作 8
2.2 探索Windows多媒体系统 9
2.3 Windows编程—魔法? 10
2.4 作为Windows开发系统的Visual Basic 11
2.4.1 Visual Basic管理Windows杂务 12
2.4.2 Visual Basic由事件驱动 12
2.4.3 交互式开发 12
2.4.4 可视编程功能 12
2.4.5 易于使用的API支持 13
2.5 基本的VB要素 14
2.5.1 窗体显示 14
2.5.2 对象行为 15
2.5.3 属性定义 15
2.5.4 事件发生 15
2.5.5 函数、过程和方法 15
2.5.6 模块化组织 15
2.5.7 代码风格 16
2.6 内在的多媒体功能 17
2.6.1 专业版的多媒体控件 20
2.7 失去链接 20
2.8 下一章的内容 25
第三章 建立超媒体引擎 26
3.1 超媒体的迅猛发展 26
3.2 组织的混乱——超链接的魔术 27
3.3 信息高速公路上的超链接 30
3.3.1 获得超文本 32
3.3.2 创建文本链接 32
3.3.3 创建超文本系统 33
3.4 作为超文本平台的Visual Basic 33
3.4.1 寻找正确的控件 34
3.4.2 扩展超文本系统 47
3.4.3 加载和滚动 59
3.4.4 运行整个超文本系统 61
3.5 添加错误捕获支持 61
3.6 灵活导航的坚实基础 62
第四章 Windows多媒体系统初步 63
4.1 高级MCI概观 63
4.2 探讨Windows多媒体系统 64
4.2.1 多媒体API概述 64
4.2.2 使用高级多媒体函数:Message Beep()和sndPlaySound() 64
4.2.3 创建MCIPlay项目:第1版 65
4.2.4 运行新的MCIPlay项目 68
4.2.5 扩充MCIPaly项目:第1版 68
4.3 使用MCI 70
4.3.1 使用mciSendString()和mciSendCommand()生成WAV文件 71
4.3.2 创建MCIPlay项目:第2版 73
4.3.3 进一步讨论mciSendString()和mciGetErrorString() 75
4.3.4 扩充MCIPlay项目:第2版 78
第五章 深入研究Windows多媒体系统 82
5.1 使用低级音频函数 82
5.1.1 神奇的RIFF文件 82
5.1.2 WAV文件结构 84
5.1.3 多媒体I/O函数 85
5.1.4 给MCIPlay添加低级回放 100
5.2 小结 104
第六章 探索图像化——从像素到调色板 106
6.1 图形设备接口 106
6.1.1 显示文本 106
6.1.2 理解位图 106
6.1.3 Windows颜色 107
6.1.4 调色板的魔力 107
6.1.5 Palette Manager内部原理 109
6.2 用VB探索颜色 112
6.2.1 选择颜色的简便方法 112
6.2.2 使用更多颜色——加载调色板 115
6.2.3 进一步讨论颜色 115
6.2.4 利用API访问颜色 118
6.2.5 修改代码 130
6.2.6 建立调色板 136
6.2.7 插入AnimatePalette 137
6.3 一个实际示例 138
第七章 调色板动画和ROP 140
7.1 调色板动画 140
7.1.1 添加事件处理程序代码 140
7.2 像素和光栅操作 146
7.2.1 添加事件处理程序代码 147
7.2.2 混合像素 149
7.2.3 ROP和分离的系统调色板 150
7.3 处理位图——使用BitBlt函数 151
7.3.1 添加事件处理程序代码 152
7.3.2 创建ROPs项目 153
7.3.3 添加事件处理程序代码 153
第八章 高级图像化和特殊效果 157
8.1 介绍淡入淡出 157
8.2 重访ROP 158
8.2.1 创建ROPs2项目 158
8.3 位图合并 163
8.3.1 搜索光栅操作 164
8.4 创建基本的数字式渐隐 166
8.4.1 创建第一个淡入淡出 166
8.4.2 进一步讨论第一个淡入淡出 170
8.4.3 创建调色板化的淡入淡出 171
8.4.4 DIB类 176
8.5 进一步讨论调色板化的淡入淡出 179
第九章 超图像化艺术 180
9.1 Windows是超媒体 180
9.1.1 把控件用做热点按钮 180
9.1.2 创建第一个热点项目 181
9.2 使用矩形窗口区域 182
9.2.1 如何使用热点编辑器 183
9.2.2 设计热点编辑器 183
9.2.3 设计主窗体 183
9.3 下一章的内容 197
第十章 对超图像的进一步讨论 198
10.1 掌握不规则热点 198
10.1.1 运行程序 198
10.1.2 响应鼠标事件 199
10.1.3 绘制多边形 200
10.1.4 开发一个多边形热点类——Polygon.cls 203
10.2 给图像添加多边形热点 207
10.2.1 运行热点编辑器 208
10.2.2 程序初始化 209
10.2.3 向多边形类增加功能 217
10.2.4 表示并存储多边形热点——DBHotspot类 218
10.3 进一步开发热点 226
第十一章 扩展多媒体引擎 227
11.1 重新封包超文本 227
11.1.1 准备项目 228
11.1.2 修改窗体模块 228
11.1.3 以变元传递控件 232
11.2 增加对图像的支持 242
11.3 完善超媒体引擎 248
11.3.1 运行神奇的超媒体引擎 248
11.3.2 创建窗体 248
11.3.3 超链接热点 250
11.3.4 热点与超文本相遇 254
11.3.5 进一步讨论图像显示 256
11.3.6 填入其余的事件代码 259
11.4 使用数据库代替文本文件 260
11.4.1 打开数据库 261
11.4.2 支持脚本 263
11.4.3 建立数据库连接 266
11.5 扩充多媒体引擎 285
第十二章 动画的魔力 287
12.1 探讨单元动画 287
12.1.1 CellAnim项目 287
12.1.2 初始化、清除和计时器代码 288
12.1.3 CellAnim类 289
12.1.4 探讨Sprite动画 294
12.1.5 Sprite1项目 295
12.1.6 用块传送例程执行Sprite动画 297
12.1.7 Sprite2项目 297
12.1.8 透明的位图——Sprite和蒙板 298
12.1.10 开发初始化和清除代码 300
12.1.11 分析进度 306
12.1.12 自动创建蒙板和Sprite 307
12.1.13 MakeMark项目 307
12.1.14 编写初始化、清除和菜单响应代码 308
12.1.15 DIB 类 312
第十三章 更快捷、更健壮的子画面动画 318
13.1 创建无闪烁的动画 318
13.1.1 Sprite3项目 319
13.1.2 Sprite类 320
13.1.3 添加给Sprite类的实用程序函数 325
13.1.4 Sprite类的公布方法 326
13.1.5 Sprite3项目的机制 332
13.1.6 测试Sprite3项目 335
13.1.7 改进Sprite引擎 336
13.1.8 Sprites项目 336
13.1.9 重新考虑绘制进程 337
13.1.10 修改调用过程 338
13.1.11 改编Sprite类 343
13.2 增强Sprite动画 349
第十四章 超越GUI——多媒体界面 351
14.1 设计界面 351
14.1.1 分析内容、需求和受众 351
14.1.2 设计程序流 351
14.1.3 开发风格和主题 352
14.1.4 原型化界面 352
14.1.5 执行可用性测试 352
14.1.6 重复步骤4和步骤5 352
14.2 良好的界面设计的基本概念 352
14.2.1 可用性与易学性 353
14.2.2 直观性 353
14.2.3 一致性 353
14.2.4 简单性 354
14.2.5 预防性 354
14.2.6 容错性 354
14.2.7 艺术性 354
14.3 不符合标准限制条件的按钮 354
14.3.1 Autorun项目 355
14.3.2 使用GraphicButton组件 356
14.3.3 开发GraphicButton组件 357
14.3.4 Player项目 368
14.4 用自定义光标提高可用性与易学性 379
14.4.1 Hotspot 4程序 379
14.4.2 缺少的媒体元素——声音 382
14.4.3 Autourn2项目 382
第十五章 ActiveX——超越桌面 390
15.1 Active什么 390
15.2 ActiveX技术概览 390
15.3 ActiveX、VB5和World Wide Web 392
15.4 ActiveX文档 392
15.4.1 SlideShow项目 393
15.4.2 开发SlideShow项目 393
15.4.3 SSImage类 397
15.4.4 用ActiveX文档激活SlideShow项目 399
15.4.5 查看SlideShow ActiveX文档 400
15.5 为World Wide Web建立ActiveX控件 400
15.5.1 GBWeh.GraphicButton控件 401
15.5.2 开发GBWeb.ActiveX组件 405
15.5.3 测试和调试GraphicButton ActiveX控件 423
15.6 ActiveX的未来 430
第十六章 操纵波形音频 431
16.1 音频:强劲的媒体 431
16.2 考察选项 431
16.2.1 红皮书音频 432
16.2.2 MIDI 432
16.2.3 波形音频 433
16.3 数字音频基础 433
16.3.1 运行程序 434
16.3.2 创建窗体 435
16.3.3 代码模块 437
16.3.4 检查声卡的功能 440
16.3.5 用Change Level()过程来修改波数据 445
16.3.6 实现AddEcho()过程 447
16.3.7 WAVPLAY2.BAS的声明 452
16.3.8 完成窗体级代码 457
第十七章 使用音乐设备数字接口 460
17.1 MIDI介绍 460
17.1.1 音响连接 460
17.2 MIDI消息 462
17.2.1 通道声部消息 462
17.2.2 通道模式消息 464
17.2.3 系统消息 465
17.3 MIDI的产物 466
17.4 MIDI和Windows 467
17.4.1 MIDI连接 468
17.4.2 Windows MIDIMapper 468
17.4.3 Windows 95登场 470
17.5 发送MIDI消息 472
17.5.1 运行程序 474
17.5.2 声明midiOut API函数 474
17.5.3 创建窗体模块 475
17.5.4 演奏Visual Basic MIDI Piano 477
17.5.5 创建主窗体 478
17.5.6 VB MIDI Piano代码模块 482
17.6 接收MIDI消息 484
17.6.1 Windows回调 484
17.6.2 运行程序 485
17.6.3 创建窗体 486
17.6.4 添加窗体代码 486
17.6.5 WindowsProc函数 488
17.6.6 完成窗体模块 489
17.6.7 代码模块 490
17.6.8 超越MIDI基础 491
第十八章 应用媒体控制接口 492
18.1 简单的Windows多媒体设备 492
18.2 试用MCI命令 492
18.3 使用MCI来播放红皮书音频 494
18.3.1 运行“单步”CD播放器 494
18.3.2 创建窗体 494
18.3.3 声明API函数 495
18.3.4 封装API函数 495
18.3.5 填入事件代码 496
18.3.6 运行智能CD播放器 497
18.4 不要低估MCI 521
附录 A HTML参考指南 522
A.1 HTML基础 522
A.2 HTML文档的结构 522
A.2.1 〈HEAD〉…〈/HEAD〉标记 523
A.2.2 〈BODY〉…〈/BODY〉标记 523
A.3 头标和段落 523
. A 3.1 〈ADDRESS〉…〈/ADDRESS〉标记 523
A.4 注释 523
A.5 题头元素 524
A.5.1 〈TITLE〉…〈TITLE〉标记 524
A.5.2 其他〈HEAD〉元素 524
A.6 正常文本 524
A.6.1 〈BR〉标记 525
A.6.2 〈NOBR〉标记 525
A.6.3 〈WBR〉标记 525
A.6.4 〈P〉标记 525
A.7 物理属性与逻辑属性 526
A.7.1 〈BLINK〉…〈/BLINK〉 527
A.7.2 〈CENTER〉…〈/CENTER〉 527
A.7.3 〈FONT〉…〈/FONT〉 527
A.7.4 〈BASEFONT〉 527
A.8 标题 528
A.9 列表 528
A.9.1 编号列表 529
A.9.2 加着重号的列表 529
A.9.3 列表扩充 529
A.9.4 无序列表的扩充 529
A.9.5 有序列表的扩充 530
A.9.6 对列表元素使用修饰符 530
A.9.7 目录和菜单列表 531
A.9.8 定义列表 531
A.9.9 紧凑列表和标准列表 531
A.10 内联图像 532
A.11 混合图像和文本 533
A.11.1 使用浮动图像 533
A.11.2 指定浮动图像的间距 533
A.11.3 指定图像尺寸 533
A.11.4 在一行中使用多个图像 534
A.11.5 定义图像的边框 534
A.11.6 ISMAP参数 534
A.11.7 水平规则 535
A.12 超媒体链接 535
A.12.1 链接到其他文档 535
A.12.2 作为热点的图像 536
A.12.3 缩微图像 536
A.12.4 把图像链接到自身 536
A.12.5 在一个图像上使用多个锚点 536
A.12.6 链接到锚点 536
A.12.7 定义锚点名 537
A.12.8 链接到当前文档中的锚点 537
A.12.9 链接到不同文档内的锚点 537
A.13 使用URL 537
A.13.1 〈BASE〉标记 538
A.14 阅读与构造URL 538
A.14.1 使用WWW和实际主机名 539
A.15 使用特殊字符 539
A.15.1 两种形式:数值或符号 539
A.16 预格式化和其他特殊段落类型 540
A.16.1 〈BLOCKQUOTE〉…〈/BLOCKQUOTE〉标记 540
A.16.2 〈PRE〉…〈/PRE〉标记 540
A.16.3 〈ADDRESS〉…〈/ADDREE〉标记 540
A.17 使用表 540
A.17.1 〈TABLE〉…〈/TABLE〉标记 541
A.17.2 创建表的标题 541
A.17.3 创建表行 541
A.17.4 定义表数据单元 541
A.17.5 定义单元的标题 542
A.18 使用窗体 542
A.18.1 〈FORM〉…〈/FORM〉标记 542
A.18.2 窗体动作和方法属性 542
A.19 器件 543
A.19.1 <INPUT>标记 543
A.19.2 文本框 544
A.19.3 复选框和单选按钮 544
A.19.4 图像映射 545
A.19.5 Submit和Reset按钮 545
A.19.6 隐藏的域 546
A.19.7 〈TextArea〉…〈/TextArea〉标记 546
A.19.8 〈SELECT〉…〈/SELECT〉标记 547
附录B VB联机资源 549
B.1 Microsoft站点 549
B.2 其他Web站点 550