侯捷 序 I
VCL Team序 III
自序 VI
致谢 VII
目录 IX
第O章 导读
这本书适合谁
全书结构
书籍体例与用语
实例程序风格
光盘内容
介绍给你
与作者联系
第一章 RAD无罪论
不得不为的选择 012
狂热份子的信仰 013
学习动机 013
目前基础 016
个人偏好 016
RAD的原罪 020
开发工具的差异 024
Win32开发工具的演化 024
RAD无罪,轻松有理 025
实践与理论 026
参与者的类型 026
参与者的落脚处 028
这些技术是什么? 029
通通都在里头 030
你看到了哪些? 030
第二章 VCL基本心法
C++Builder程序的组成 034
执行文件成分分析 034
组成部分 045
VCL的多重面貌 053
单身时期 054
死会时期 055
VCL类结构 059
核心类 061
控件类 072
程序运作类 077
RAD支持类 079
第三章 控制你的控制面板
控制面板观测站 085
呼叫呼叫,听到请回答! 086
CPL文件的真实身份 091
行为剖析 093
实践时间 100
Hello, World !! 100
撰写自己的控制面板 105
VCL的控制面板支持 113
新增的单元及类 113
实例控件-观测内存使用状况 114
在背后支持的TAppletApplication 118
第四章 分秒必争,细说定时器
定时器API 123
建立定时器 123
WM_TIMER消息 124
消灭定时器 125
窗口是必要的吗? 126
测量定时器的精确度 128
更精确的定时器 133
多媒体应用程序的需求 133
取得精确度范围 134
视需求调整精确度 135
使用多媒体定时器 136
内部运作 143
取得系统使用时间 145
精益求精-高精确度高性能计数器 146
延迟函数 149
八风请不动,只待时限到 151
TApplication::ProcessMessages 152
精确的延迟函数 156
TTimer控件 161
内部剖析 162
线程中的定时器 164
工作线程隐含的陷阱 165
捡到便宜的TThread构造函数 168
解决工作线程的计时需求 169
方案一:借助主线程的消息循环 169
方案二:使用不依赖窗口消息的多媒体定时器 170
方案三:使用可等待定时器 172
方案四:使用可接受消息的等待函数 173
第五章 一头栽入桌面的世界
桌面的构成 179
唯一的桌面窗口 181
它叫Shell,不是贝壳 183
桌面上的特殊窗口 190
桌面上的把戏 191
席卷桌面,气吞四海 191
桌面涂鸦程序 194
画面截取 197
桌面随意贴 199
Desktop Illusionist 207
源起 208
程序目的 209
程序手法 210
控制桌面窗口是否绘制桌面底色、填充样式及桌布 211
更改背景窗口的绘制动作 213
位于桌面图标下方的按钮 217
程序手法小结 221
使用技术 221
子类化(Sub-classing) 222
钩子(Hook) 225
内存映像文件 235
程序撰写 238
成果品尝 240
第六章 桌面主题工具实战
XTheme Manager简介 248
认识桌面主题 254
桌面组件 254
桌面描述文件 255
XTheme Manager Lite 261
功能设定 261
界面设计 262
系统颜色 264
取得系统颜色 268
设定系统颜色 269
储存设定值 270
鼠标指针 271
取得鼠标指针 273
储存设定值 277
系统音效 278
事件叙述 279
取得及设定系统音效 279
播放系统音效 279
系统字体 280
取得及写入系统字体 281
各种字体对象的处理 282
桌面图标 285
数到三,快快从桌面上消失… 286
挥之不去的四剑客 286
桌布及样式 290
填充样式 290
桌布式样设定 291
范例程序-WallPaper Changer Pattern Viewer 294
桌布自动更换软件 295
有趣的PaintDesktop API 296
回到XTML 297
预览功能 297
成果大观 299
第七章 屏幕保护?我用计划表!
知而后行 302
屏幕保护程序的构成 303
相关的注册表设定 304
禁!屏幕保护退散 305
激活屏幕保护 307
实践预备课程 308
原来是个窗口 309
事件处理 309
消息拦截 310
剖析参数 311
运行核心 311
预览功能 312
功能设定 313
取个响当当的好名字 314
XEssay Screen Saver 316
程序功能规划 316
主窗体的设计 317
建立核心线程 318
提供预览功能 320
设定对话框 326
剖析命令行参数 327
编译及执行 329
安装 330
成果赏玩 330
第八章 足球番
系统规划 337
TTiles类 338
TMap类 339
TRole类 340
类实现 340
TTiles图库类及子类 341
TMap地图类 346
TRole主角类 355
图库编辑器 360
双重「对象」格的FTiles 362
绘制图库图片 369
地图编辑器 372
程序初始化 375
绘制编辑画面 377
「足球番」主程序 385
三个小时钟 387
游戏状态的初始化 389
绘制游戏画面 390
处理使用者输入 392
第九章 坦克大决战
任天堂版坦克大决战 398
设计自己的坦克大决战 403
系统规划 404
地图子系统 406
角色子系统 407
地图子系统 411
图库处理 413
地图处理 418
图库编辑器 426
新增及移除图片群组 428
图片群组描述的持续性 431
地图编辑器 434
灵活的图片群组操作功能 435
地图编辑模式 437
地图图层的资料设定 437
破碎图格的编辑能力 439
图层检视选择 440
角色子系统 441
TSprite类 443
TTank坦克抽象类 455
子弹及爆炸 462
游戏的诞生 465
绘制游戏画面 465
游戏主循环 470
处理使用者输入 477
熬呀熬出头 478
第十章 Fancy软件撰写手册
与系统字体起舞 486
TStatusBar::UseSystemFont属性 487
可怜没人爱的TTreeView及TListView控件 488
TControl.DesktopFont属性 489
字体的设定及维持 490
将字体信息转换为字符串 491
使用TFont对象的持续机制 491
处理SDK提供的TLogFont结构 493
带着字体走 494
动态安装及卸除字体 494
藏起拖油瓶 496
状态列小图标 498
管理TrayIcon 500
留下TrayIcon,其余的都不要 501
文件快捷方式管理 504
COM对象及接口 505
ShellLink对象及IShellLink接口 505
系统文件夹的真正位置 506
维持窗口属性 509
执行一份足矣 511
寻找前一份副本 511
传递参数及信息 516
文件拖拉支持 521
使用文件拖拉支持函数 522
取得文件拖拉信息 524
DragDrop范例程序 525
进程的最后一刻 526
万无一失的善后工作 527
写封EMAIL 529
Mailto URL方式 530
Mailto URL的应用 532
附录
附录A 我的程序库
XCONTROLS 539
XDARRAY 541
XDESKTOP 544
XFILES 545
XFONTS 550
XGRAPHICS 551
XKERNEL 552
XMEMORY 553
XREGISTRY 554
XSTREAMS 554
XSTRINGS 555
XTIMES 560
XUTILS 560
XWINDOWS 561
附录B 我的工具箱
文件分析/反编译 563
DUMPBIN 563
W32Dasm 566
进程/窗口行为刺探 568
Spy++ 568
BoundsChecker 570
APISPY32 571
Socket Spy32 573
Registry Monitor 574
实时侦错/除错 575
SoftICE 575
DebugView 577
资源检视/修改 578
Resource Workshop 578
Microsoft Developer Studio 579
Language Localizator 580
系统信息观察 583
OLECOM Object Viewer 583
Process Viewer 584
Dependency Walker 585
RegDump 586
TCPView 587
OSR Driver and Device Explorer 588
杂项 589
Hex Workshop 589
Source Code Colorizer 590
WinDiff 591
XReplace-32 592
Windows Help Designer 593
附录C 参考书目 595