第一篇 高级界面设计 2
第1章 C++ Builder 4.0概述 2
1.1 C++ Builder简介 2
1.1.1 C++ Builder的发展 2
1.1.2 C++ Builder的特点 3
1.2 C++ Builder 4.0聚焦 3
1.2.1 C++ Builder 4.0的新特性 4
1.2.2 C++ Builder 4.0的运行环境 7
本章小结 7
第2章 简单窗体的设计 8
2.1 窗体的分割设计 8
2.1.1 面板控件 8
2.1.2 分界控件 9
2.1.3 分割条控件 10
2.1.4 表头控件 14
2.2 让窗体更生动 17
2.2.1 技术内幕 18
2.2.2 应用:设计渐变背景的窗体 19
2.3 设计软件封面 22
2.3.1 技术内幕 23
2.3.2 软件封面设计 23
2.3.3 带进度条的启动封面设计 26
本章小结 28
第3章 复杂窗体的设计 29
3.1 通用对话框的使用 29
3.1.1 文件打开和文件保存对话框 29
3.1.2 字体对话框和颜色对话框 31
3.1.3 打印对话框和打印机设置对话框 32
3.1.4 查找对话框和替换对话框 33
3.2.1 创建MDI主窗体 35
3.2 多文档界面(MDI)应用程序 35
3.2.2 创建MDI子窗体 36
3.2.3 与MDI有关的几个运行期间的属性 39
3.2.4 菜单的合并 39
3.2.5 添加程序代码 41
3.2.6 扩展MDI文档编辑器 46
3.3 几种复杂控件的应用 50
3.3.1 TreeView控件 50
3.3.2 ListView控件 54
3.3.3 应用:资源管理器 55
本章小结 62
第4章 窗体附件的设计 64
4.1 动态菜单的设计 64
4.1.1 技术内幕 64
4.1.2 实例:动态菜单的设计 65
4.2 在菜单中显示文件历史列表 68
4.2.1 技术内幕 69
4.2.2 实例:在菜单中显示文件历史列表 69
4.3 状态栏的设计 73
4.4 工具栏的设计 76
4.4.1 技术内幕 76
4.4.2 实例:一般工具栏的创建 77
4.4.3 扩展:IE风格工具栏的设计 78
本章小结 79
第5章 在窗体设计中加入多媒体 80
5.1 多媒体的基础知识 80
5.2 声音的使用 81
5.2.1 技术内幕 81
5.2.2 使用MediaPlayer控件制作简单的声音播放器 82
5.3 动画的使用 89
5.2.3 应用:给程序加入背景音乐 89
5.3.1 技术内幕 90
5.3.2 使用TAnimation控件播放AVI文件 91
5.4 实现图像的淡出和淡入效果 92
5.4.1 技术内幕 92
5.4.2 淡入淡出的实现 93
本章小结 95
第二篇 Windows高级编程技术 98
第6章 DDE程序的开发 98
6.1 DDE基础 98
6.1.1 DDE简介 98
6.1.2 “客户”与“服务器” 98
6.1.3 DDE会话协议 99
6.1.4 DDE数据链接 99
6.2 DDE控件的使用 100
6.2.1 技术内幕 100
6.1.5 DDE数据回送 100
6.1.6 使用DDE控制其他的应用程序 100
6.2.2 在设计阶段与电子表格建立DDE链接 104
6.3 创建DDE动态数据交换应用程序 106
6.3.1 创建服务器端应用程序 106
6.3.2 创建客户端应用程序 108
本章小结 112
第7章 OLE与OLE自动化 113
7.1 OLE基本概念 113
7.1.1 OLE简介 113
7.1.2 OLE的分类 114
7.1.3 链接对象和嵌入对象 114
7.1.4 OLE与DDE 115
7.2.1 技术内幕 116
7.2 在应用程序中插入OLE对象 116
7.2.2 实例:利用TOleContainer控件创建OLE客户程序 117
7.3 OLE自动化的应用 120
7.3.1 技术内幕 120
7.3.2 实例:利用OLE自动化实现在应用程序中操作Microsoft Word 121
7.4 OLE拖放技术 125
7.4.1 技术内幕 125
7.4.2 应用:在应用程序中使用OLE拖放技术 126
7.4.3 扩展:在不同的窗体间实现OLE拖动 131
本章小结 133
第8章 ActiveX技术 134
8.1 ActiveX技术简介 134
8.1.1 ActiveX的基本概念 134
8.2 使用ActiveX控件 135
8.2.1 安装ActiveX控件 135
8.1.2 ActiveX文档服务 135
8.2.2 Syslnfo控件简介 136
8.2.3 应用:编写程序监视系统信息 139
8.3 创建自己的可视组件 143
8.3.1 组件的概念 143
8.3.2 包的概念 144
8.3.3 为什么要使用组件 144
8.3.4 创建并安装不可视组件 145
8.3.5 创建可视化组件 149
8.3.6 增加组件的图标 155
8.4 创建ActiveX控件 156
本章小结 162
第9章 多线程的使用 163
9.1 概述 163
9.1.1 进程 163
9.1.2 线程 163
9.2 线程的创建和结束 164
9.1.3 从这里起步 164
9.3 线程的挂起和唤醒 167
9.4 线程调度和线程的优先级 168
9.4.1 线程调度 168
9.4.2 线程的优先级 169
9.5 线程之间数据和资源的共享 169
9.5.1 在子线程中使用VCL主线程所管理的控件对象 170
9.5.2 利用VCL提供的TCriticalSection对象实现多个进程之间的同步 170
9.6 多线程间的通信 176
9.6.1 等待其他线程的结束 176
9.6.2 等待事件信号 177
9.7 实例分析 178
本章小结 183
10.1.1 动态链接和静态链接 185
10.1 DLL的基础知识 185
第10章 DLL和API 185
10.1.2 使用DLL的优点 186
10.1.3 DLL与EKE 186
10.2 DLL库的创建和加载 187
10.2.1 创建简单的DLL库 187
10.2.2 创建加载静态库的可执行程序 189
10.2.3 编写加载动态DLL的可执行程序 193
10.3 静态库的创建和使用 194
10.4 Windows API函数及使用 198
10.4.1 Windows API概述 198
10.4.2 应用:用API函数控制SysTray 199
本章小结 207
第11章 Windows系统编程 208
11.1 利用注册表来保存程序的配置信息 208
11.1.1 技术内幕 208
11.1.2 TRegistry类的使用 210
11.1.3 应用:利用注册表保存应用程序的配置信息 214
11.2 键盘响应 216
11.2.1 技术内幕 216
11.2.2 应用:小球的控制 218
11.3 鼠标响应 221
11.3.1 技术内幕 221
11.3.2 应用:信手涂鸦 223
11.3.3 隐藏及显示鼠标 225
11.4 剪贴板 226
11.4.1 技术内幕 226
11.4.2 剪贴板的应用 229
11.5 Screen变量 230
11.5.1 技术内幕 230
11.5.2 应用:设置字体 231
11.6.2 应用:小闹钟 232
11.6 定时器 232
11.6.1 技术内幕 232
本章小结 239
第12章 开发Internet应用程序 240
12.1 Internet概述 240
12.1.1 Internet简介 240
12.1.2 Internet的基本概念 240
12.1.3 WWW简介 241
12.2 制作HTML页面 242
12.2.1 HTML简介 242
12.2.2 制作静态HTML页面 244
12.2.3 制作动态HTML页面 246
12.3 制作Web浏览器 247
12.3.1 技术内幕 247
12.3.2 应用:制作Web浏览器 249
12.4 Socket编程 256
12.4.1 技术内幕 257
12.4.2 应用:chat程序 259
12.5 通过Internet发送邮件 265
12.5.1 技术内幕 265
12.5.2 应用:通过Internet发送邮件 267
12.6 ISAPI编程 273
12.6.1 开发网络服务程序的编程接口 273
12.6.2 技术内幕 274
12.6.3 应用:用C++ Builder编写ISAPI服务程序 275
本章小结 278
第13章 与Delphi、 Borland C++和Visual C++的结合 280
13.1 与Delphi的结合 280
13.1.1 从Delphi向C++ Builder转移的例子 280
13.1.2 Object Pascal和C++的数据类型介绍 282
13.2 与Borland C++的结合 283
13.1.3 一些高级技巧 283
13.2.1 使用idetobpr.exe转换IDE程序 284
13.2.2 OWL的动态设置 284
13.2.3 OWL、ClassLib和OCF库 284
13.2.4 Borland C++的OWL应用程序转换到C++ Builder 285
13.3 与Visual C++的结合 287
13.3.1 在C++ Builder中使用MFC 288
13.3.2 在MFC应用程序中使用VCL 290
本章小结 293
第三篇 程序的调试与异常处理 296
第14章 C++ Builder的异常处理机制 296
14.1 异常的基本理论 296
14.1.1 异常的来源 296
14.1.2 C++ Builder 4.0中的异常类 296
14.2.2 应用:捕捉异常的实例 299
14.2.1 技术内幕 299
14.2 捕捉异常 299
14.3 创建自己的异常 303
14.3.1 技术内幕 303
14.3.2 应用:使用自己的异常来处理口令输入 303
14.3.3 应用:建立自己的异常处理入口 305
14.3.4 扩展:分析异常信息 306
14.4 解决结构化异常 309
14.4.1 技术内幕 309
14.4.2 应用:阶乘计算器 309
本章小结 312
第15章 应用程序的调试与发布 313
15.1 程序的调试 313
15.1.1 调试概述 313
15.1.2 集成调试器的配置 314
15.1.3 集成调试器的使用 317
15.1.4 断点的使用 319
15.1.5 观察窗口的使用 322
15.1.6 CPU调试窗口的使用 324
15.1.7 其他 327
15.2 建立联机帮助 328
15.2.1 联机帮助文件 328
15.2.2 创建帮助文本文件 329
15.2.3 创建目录文件 330
15.2.4 创建项目文件 332
15.2.5 与应用程序相关联 333
15.3 建立安装程序 334
15.3.1 建立安装工程文件 334
15.3.2 定制安装工程文件 335
15.3.3 建立安装程序 337
本章小结 338