第一部分 Windows界面编程 1
第1章 按钮 7
1.1 核心实例 7
1.1.1 图标按钮 7
1.1.2 XP风格按钮 8
1.2 扩展实例 10
1.2.1 会变色的按钮 10
1.2.2 会发声的按钮 11
1.2.3 任意形状的按钮 12
第2章 菜单 13
2.1 核心实例 13
2.1.1 XP风格菜单 13
2.1.2 动态使能/禁用菜单项 14
2.2 扩展实例 16
2.2.1 动态添加菜单项 16
2.2.2 Office 2000风格的停泊、智能型菜单 17
2.2.4 定制系统菜单 18
2.2.3 多语言菜单 18
第3章 工具栏 21
3.1 核心实例 21
3.1.1 带背景工具栏的文本编辑器 21
3.1.2 带下拉箭头工具栏 23
3.2 扩展实例 24
3.2.1 任务栏 24
3.2.2 桌面工具栏 25
3.2.3 显示多行文字的工具栏 26
3.2.4 动态真彩工具栏 27
3.2.5 浮动工具栏(Win32 API) 28
第4章 状态栏与进度条 31
4.1 核心实例 31
4.1.1 AVI状态栏 31
4.1.2 彩色渐变进度条 32
4.2 扩展实例 34
4.2.1 带进度条的状态栏 34
4.2.3 在状态栏中显示时间 35
4.2.2 带位图的状态栏 35
4.2.4 使用图标的进度条 36
4.2.5 带进度条的文本编辑器 37
4.2.6 多线程使用进度条 37
第二部分 窗体界面 39
第5章 对话框 43
5.1 核心实例 43
5.1.1 制作对话框程序 43
5.1.2 制作可扩展的对话框 46
5.1.3 让程序“说”想说的话 49
5.2 扩展实例 51
5.2.1 设置对话框的背景颜色 51
5.2.2 在对话框程序中加入背景图像 51
5.2.3 屏幕软键盘 52
5.2.4 函数式计算器 53
5.2.5 中国农历 55
6.1.1 WordPad字处理软件 57
6.1 核心实例 57
第6章 单文档和多文档界面 57
6.1.2 制作软件启动画面 62
6.1.3 WordPad字处理软件的多文档扩展 64
6.2 扩展实例 67
6.2.1 彩票选号器 67
6.2.2 体彩分析器 69
6.2.3 记事簿 69
6.2.4 在EVC 3.0中创建MDI程序 70
6.2.5 在多文档框架里显示Logo 71
第7章 视图和窗口管理 73
7.1 核心实例 73
7.2 扩展实例 75
7.2.1 获得另一个应用程序窗口中的文本 75
7.2.2 窗口分割 76
7.2.3 Winamp样式的自动停靠对话框 77
7.2.4 使用CSplitterWnd分割窗口 78
7.2.5 使用快捷键隐藏窗口 79
第8章 高级用户界面 81
8.1 核心实例 81
8.2 扩展实例 84
8.2.1 实现标题栏的隐藏与显示 84
8.2.2 为程序换个皮肤 85
8.2.3 在标题栏中显示动态图标 85
8.2.4 给应用程序添加动态鼠标 86
8.2.5 形态各异的不规则窗体 87
8.2.6 多界面程序 88
8.2.7 平滑关闭窗口 89
8.2.8 Esc键关闭窗口 90
第三部分 图像处理 93
第9章 图像显示 97
9.1 核心实例 97
9.2 扩展实例 102
9.2.1 透明位图 102
9.2.2 对位图文件的浏览 103
9.2.3 屏幕精灵 104
9.2.4 城市公交地图编辑器 105
9.2.5 圣诞贺卡 105
9.2.6 无闪烁刷屏 106
9.2.7 桌面宠物 107
9.2.8 显示GIF动画和GIF的储存 108
9.2.9 JPG和GIF格式的图片 109
9.2.10 图标猎手 111
9.2.11 颜色拾取器 112
9.2.12 颜色选择器增强版 113
9.2.13 动画启动界面 114
9.2.14 屏幕放大镜 115
9.2.15 图像的缩放 116
第10章 字体与三维显示 117
10.1 核心实例 117
10.2 扩展实例 120
10.2.1 不使用DirectX或OpenGL而实现的3D立方体效果 120
10.2.2 滚动字幕 121
10.2.3 绘制半透明的三维物体 122
第11章 图像格式 125
11.1 核心实例 125
11.2 扩展实例 128
11.2.1 图像的JPEG压缩 128
11.2.2 做一个简单的图像处理软件MyPhotoshop 129
第12章 图像特效设计 131
12.1 核心实例 131
12.2 扩展实例 133
12.2.1 分形图像制作器 133
12.2.2 涟漪效果 134
12.2.3 水纹、火焰及熔岩效果发生器 135
12.2.4 数码时钟 136
第四部分 多媒体 139
第13章 音频技术 147
13.1 核心实例 147
13.2.1 WAVE播放器 149
13.2 扩展实例 149
13.2.2 制作简易CD播放器 150
13.2.3 CDtoWAVE转换器 151
13.2.4 精灵助手 152
13.2.5 数字滤波模拟器 153
第14章 视频技术 155
14.1 核心实例 155
14.2.1 用RealPlayer控件制作的播放器 157
14.2 扩展实例 157
14.2.2 FLASH播放器 159
14.2.3 视频捕捉 159
第15章 OpenGL 161
15.1 核心实例 161
15.2 扩展实例 164
15.2.1 3DS文件阅读器 164
15.2.2 浮动窗体中的OpenGL多视图的实现 165
15.2.3 利用OpenGL绘制三维物体 167
15.2.4 OpenGL中雾的效果实现 168
15.2.5 改变显示模式 171
第五部分 网络与通信 173
第16章 WinSock编程 181
16.1 核心实例 181
16.2 扩展实例 183
16.2.1 点对点多线程断点续传的实现 183
16.2.2 用UDP协议实现网络通信 184
16.2.3 文件传输 185
16.2.4 异步网络通信 186
16.2.5 域名解析 187
16.2.6 网络协议查看器 187
16.2.7 Telnet客户端 188
第17章 局域网 189
17.1 核心实例 189
17.2 扩展实例 190
17.2.1 映射网络驱动器 190
17.2.2 不重启直接更改IP 191
17.2.3 基于TCP/IP局域网的多用户通信 192
17.2.4 IP端口扫描 193
17.2.5 检索局域网内的计算机 194
第18章 实时通信与串行通信 195
18.1 核心实例 195
18.2 扩展实例 203
第19章 Internet与Web服务 207
19.1 核心实例 207
19.2.1 远程网页的查看 209
19.2 扩展实例 209
19.2.2 简易的E-mail发送器 210
19.2.3 基于Web的程序版本检查 211
19.2.4 网页保存器 212
19.2.5 基于IE组件的浏览器 213
19.2.6 多线程网络蜘蛛 214
19.2.7 计费系统 215
19.2.8 网址管理器 216
19.2.9 BT下载器 217
19.2.10 网页链接提取器 218
19.2.11 类似FLASHGET的下载器 219
19.2.12 基于SMTP的邮件发送系统 220
19.2.13 监控POP3上的电子邮件收发 221
19.2.14 信箱应用程序接口的使用 222
第六部分 数据库技术 223
第20章 ODBC编程 229
20.1 核心实例 229
20.2.1 学生信息管理系统 231
20.2 扩展实例 231
20.2.2 枚举SQL Server服务器 232
20.2.3 枚举DNS数据源 233
20.2.4 ODBC数据库的动态链接 233
20.2.5 使用ODBC打开位图 234
第21章 DAO编程 237
21.1 核心实例 237
21.1.1 彩电信息管理系统 237
21.1.2 DAO存取Access数据库 240
21.2.1 学生成绩管理系统 241
21.2 扩展实例 241
21.2.2 类似金山词霸生词本的DAO数据库 242
21.2.3 医院管理系统 243
21.2.4 多线程DAO演示 244
21.2.5 数据库索引的管理 245
第22章 OLEDB编程 247
22.1 核心实例 247
22.2 扩展实例 249
22.2.1 通信录客户端 249
22.2.2 连接数据源 250
22.2.3 数据库动态查询 252
第23章 ADO编程 253
23.1 核心实例 253
23.2 扩展实例 255
23.2.1 通信录 255
23.2.2 出差管理软件 256
23.2.3 个人信息管理软件 257
23.2.4 数据库复制工具 258
23.2.5 日常开支记录器 260
第七部分 Windows系统 263
第24章 链接库 277
24.1 核心实例 277
24.1.1 静态链接库 277
24.1.2 动态链接库 280
24.2 扩展实例 283
24.2.1 IE弹出窗口过滤 283
24.2.2 模拟控制面板 284
第25章 Win32 API 287
25.1 核心实例 287
25.1.1 关机小精灵 287
25.1.2 控制面板程序 289
25.2 扩展实例 291
25.2.1 获取QQ密码(API) 291
25.2.2 获取网页密码 292
25.2.3 一周时间选择器 293
25.2.4 软盘格式化工具 294
25.2.5 CPU内存监视器 296
25.2.6 系统版本检测器 297
25.2.7 硬件信息检测器 298
25.2.8 字体检测器 300
25.2.9 任务查看器 301
25.2.10 创建桌面图标 302
25.2.11 远程硬盘管理 303
第26章 剪贴板 305
26.1 核心实例 305
26.2 扩展实例 308
26.2.1 复制文件名 308
26.2.2 剪贴板查看器 309
26.2.3 特别的读写工具 310
第27章 钩子(Hook) 313
27.1 核心实例 313
27.2.1 屏幕取词 314
27.2 扩展实例 314
27.2.2 密码查看器 316
27.2.3 重现用户操作 317
第28章 进程和线程 319
28.1 核心实例 319
28.2 扩展实例 322
28.2.1 多线程管理器 322
28.2.3 邮箱暴力破解器 323
28.2.2 多线程文件搜索器 323
28.2.4 共享内存演示 325
28.2.5 内存监测器 325
28.2.6 确定正在运行的进程 326
第29章 注册表 329
29.1 核心实例 329
29.2 扩展实例 332
29.2.1 一键清空个人记录 332
29.2.2 自动登录器 333
29.2.3 系统修改器 334
29.2.4 程序注册 335
第30章 文件 337
30.1 核心实例 337
30.2 扩展实例 340
30.2.1 文件更改提醒 340
30.2.2 文本编辑器加强版 340
30.2.3 C++源文件转换器 341
30.2.4 源代码统计器 342
30.2.5 个人考勤软件 343
30.2.6 袖珍文件分割器 344
30.2.7 MD5算法 346
30.2.8 安装程序 347
30.2.9 可执行文件制作器 348
30.2.10 文件统计器 348
30.2.11 VB语法加亮器 349
30.2.12 文件变更通知 350
30.2.13 打开PCX格式文件 352
附录A 常用函数 353