第1章 深入认识Delphi 1
1.1 Delphi的特点 1
1.2 Delphi 5.0的适用范围 1
1.2.1 Delphi 5.0的开发工具及特征 1
1.2.2 Delphi 5.0应用概述 3
1.3 应用程序中的窗体 5
1.4 创建窗体 8
1.4.1 Delphi应用程序的TApplication类 8
1.4.2 窗体的创建 9
1.4.3 Delphi 5.0的窗体创建事件 10
1.4.4 关于Splash 13
1.4.5 创建全局公用模块 15
1.5 工程管理 23
1.5.1 项目管理器 23
1.5.2 创建To-do lists 24
1.5.3 创建项目组 25
1.5.4 模板和对象库 26
1.6 Delphi 5.0环境定制 27
1.6.1 组织工作区 27
1.6.2 定制桌面 29
1.6.3 定制帮助系统 32
1.7 小结 32
第2章 使用组件 33
2.1 Delphi可视化组件概述 33
2.1.1 与文本相关组件 33
2.1.2 按钮与选项组件 36
2.1.3 状态条组件 36
2.1.4 窗体分割组件 36
2.1.5 列表组件 37
2.1.6 滚动组件 38
2.1.7 网格、表格组件 39
2.1.8 图形、图像组件 39
2.1.9 多媒体(MultiMedia)和OLE组件 39
2.1.10 标准对话框组件 40
2.2 框架(Frames)用法 41
2.2.1 创建框架 41
2.2.2 将框架添加到组件模板 42
2.2.3 使用和修改框架 42
2.2.4 框架的共享 44
2.3 菜单组件及其用法 44
2.3.1 菜单项的功能分类 45
2.3.2 动态建立菜单项 48
2.3.3 在Delphi 5.0中创建图像菜单 50
2.3.4 Owner-Draw菜单项 51
2.4 ListView组件与TreeView组件 53
2.4.1 ListView组件的用法 54
2.4.2 TreeView组件的用法 57
2.5 工具栏组件的用法 61
2.5.1 Toolbar组件 62
2.5.2 Coolbar组件 62
2.5.3 Controlbar组件 66
2.5.4 PageScroller组件 69
2.6 小结 69
第3章 Delphi自定义组件 70
3.1 组件原理 70
3.1.1 什么是组件? 70
3.1.2 建立组件过程概述 71
3.1.3 建立组件的途径 71
3.1.4 组件Delphi中的消息处理机制 72
3.2.1 创建简单的组件 77
3.2 由现存组件派生组件 77
3.2.2 测试新建组件 80
3.2.3 改变组件的缺省属性 81
3.2.4 将组件放入组件面板中 82
3.3 多组件组合 87
3.4 创建新组件 95
3.4.1 创建属性 95
3.4.2 创建事件 98
3.4.3 处理消息 103
3.4.4 增加Component Palette上的位图 107
3.4.5 提供有关属性和事件的帮助 108
3.5 非可视化组件 113
3.5.1 创建非可视化组件 113
3.5.2 使用非可视化组件 118
3.6 小结 119
3.5.3 定义客户操作 119
第4章 多线程(THREAD) 120
4.1 线程的基本知识 120
4.1.1 进程和线程 120
4.1.2 多任务 121
4.1.3 何时创建线程 121
4.1.4 何时不用创建线程 122
4.1.5 线程的调度 122
4.2 用Delphi 5.0创建多线程应用程序 124
4.2.1 Delphi 5.0的多线程工作模型 124
4.2.2 线程构件 124
4.2.3 创建线程类 126
4.2.4 多线程同步 131
4.2.5 线程的控制 139
4.3 多线程控制应用范例 139
4.4 小结 144
5.1 动态链接库原理 145
第5章 动态链接库(DLLS)编程 145
5.1.1 动态链接库的工作原理 146
5.1.2 Windows系统的动态链接库 146
5.1.3 为什么使用DLL? 147
5.1.4 系统DLL的含义 148
5.1.5 DLL与EXE文件之间的区别 148
5.1.6 DLL编写规则 149
5.2 在Delphi中DLLs的编写和调用 149
5.2.1 编写一般DLLs的步骤 151
5.2.2 动态链接库中的标准指示 152
5.2.3 DLLs中的变量和段 153
5.2.4 DLLs中的运行时间错和处理 153
5.2.5 库初始化代码的编写 154
5.2.6 编写一般DLLs的应用举例 155
5.2.8 从DLL中输出字符串 156
5.2.7 DLL中的重载函数问题 156
5.2.9 调用DLLs 158
5.3 利用DLLs实现窗体重用 166
5.3.1 利用DLLs实现窗体重用的一般步骤 166
5.3.2 使用DLL模态窗体 166
5.3.3 DLL中的非模态窗体 168
5.3.4 窗体重用实例 168
5.4 利用DLLs实现数据传输 174
5.4.1 DLLs中的全局内存 174
5.4.2 利用DLLs实现应用程序间的数据传输 175
5.5 DLL与Delphi组件包 178
5.6 小结 179
第6章 COM对象 180
6.1 COM的基本概念 180
6.2 Delphi实现COM的机理 180
6.3 创建COM应用 182
6.4 COM的注册与调用 186
6.5 利用COM实现系统外壳扩展 189
6.5.1 上下文菜单扩展COM的编写 189
6.5.2 程序说明 195
6.6 小结 198
第7章 对象链接与嵌入 199
7.1 OLE简介 199
7.1.1 OLE1.0和OLE2.0 199
7.1.2 链接与嵌入 199
7.1.3 设计状态OLE对象的创建 200
7.1.4 OLE类、文件、项目 200
7.1.5 OLE自动化 201
7.1.6 类型库 201
7.1.7 OLE数据类型 202
7.1.8 TAutoObject对象 203
7.2 创建OLE自动化服务器 205
7.2.1 编写OLE自动化服务器 205
7.2.2 Delphi 5类型库编辑器 205
7.2.3 服务器程序 208
7.2.4 注册自动化服务器 212
7.2.5 编写客户程序 213
7.3 TOLEContainer组件 214
7.3.1 OLE对象创建的步骤 214
7.3.2 OLE应用程序的开发 215
7.4 OLE与Office97 219
7.4.1 早期的控制方式 220
7.4.2 利用Delphi 5.0的新特性向Word发送数据 232
7.5 小结 237
8.1.1 何谓ActiveX控件? 238
8.1 ActiveX控件原理 238
第8章 ActiveX控件 238
8.1.2 ActiveX控件与Delphi组件 239
8.2 在Delphi中使用ActiveX控件 240
8.2.1 ActiveX控件的安装方法 240
8.2.2 TOleControl类 245
8.2.3 使用Microsoft ActiveMovie Control控件 245
8.2.4 使用Delphi的ActiveX控件 248
8.3 ActiveX控件的编写方法 259
8.3.1 建立ActiveX ChiCharEdit 259
8.3.2 添加新属性 264
8.3.3 添加属性页 265
8.3.4 ActiveX Form 267
8.4 小结 271
9.1.1 什么是多媒体(Multimedia)? 272
9.1 认识多媒体 272
第9章 多媒体系统 272
9.1.2 多媒体计算机系统 273
9.1.3 计算机多媒体系统的应用 273
9.1.4 多媒体制作软硬件工具 274
9.1.5 多媒体编辑系统 276
9.1.6 多媒体的相关名词 278
9.2 个人计算机的多媒体功能 280
9.2.1 Windows 98的娱乐功能 280
9.2.2 MCI接口 281
9.2.3 Microsoft DirectX技术 283
9.3 Delphi的多媒体控件 283
9.3.1 多媒体MediaPlayer控件 284
9.3.2 Delphi的MCI控制播放原理及其时间格式 289
9.3.3 多媒体在Delphi中的应用 290
9.4.2 卡通构件 300
9.4.1 卡通控件简介 300
9.4 卡通构件 300
9.4.3 卡通构件的使用 302
9.5 小结 303
第10章 在Delphi 5.0中使用汇编 304
10.1 Delphi 5.0的内置汇编器 304
10.1.1 Asm语句 304
10.1.2 寄存器的使用 304
10.1.3 汇编程序语句的语法 305
10.1.4 标签 305
10.1.5 指令操作码 305
10.1.6 汇编指令 307
10.1.7 操作数 308
10.1.8 表达式 309
10.1.9 汇编程序过程和函数 318
10.2.1 访问接口及定时器——乐曲演奏程序 319
10.2 应用汇编程序实例 319
10.2.2 访问寄存器——CPUID 322
10.3 小结 332
第11章 异常处理与程序调试 333
11.1 Delphi异常处理机制与异常类 333
11.1.1 运行库异常类(RTL Exception) 334
11.1.2 对象异常类 338
11.1.3 部件异常类 340
11.2 异常处理 341
11.2.1 异常响应与try-except语句 341
11.2.2 异常保护与try-finally语句 342
11.2.3 使用异常实例 345
11.2.4 提供缺省响应 345
11.2.5 响应一族异常 346
11.2.6 异常的重引发和处理嵌套 346
11.2.7 自定义异常类的应用 347
11.2.8 利用异常响应编程 351
11.3 程序调试 353
11.3.1 调试工具的基本设置 353
11.3.2 程序运行的控制 355
11.3.3 使用断点 356
11.3.4 检查变量和表达式的值 359
11.3.5 检查函数和过程调用 360
11.3.6 监视线程状态 361
11.3.7 监视微处理器状态 362
11.3.8 局部变量监视窗口 363
11.3.9 模块窗口 363
11.3.10 事件日志窗口 365
11.3.11 FPU窗口 367
11.4 使用Browser 368
11.4.2 Details区的显示页 369
11.4.1 使用加速按钮 369
11.4.3 使用Browser 370
11.5 小结 371
第12章 发布软件 372
12.1 Delphi应用程序的Help系统 372
12.1.1 Help文件的建立 372
12.1.2 应用hcw.exe创建Help的实例 380
12.1.3 Delphi应用程序的Help编程 387
12.1.4 Delphi帮助提示(Hint)的应用 390
12.2 支持文件 394
12.2.1 使用Windows INI文件 394
12.3 Windows注册表 397
12.4 Installshield Express工具 402
12.5 小结 414
附录 Delphi错误信息表 415