C++ Builder深度历险(PDF).
这本书不教你如何使用C++ Builder整合环境,不讲解C/C++程序语言,不是WIN32基础教学书籍,也不打算介绍COM/OLE/ADO/.NET等等新技术。我只想以自身的经验告诉你,在拥有基本的程序设计能力后,如何提升到能够自行发掘问题,解决问题,并在程序设计中寻找乐趣的更高层次。
侯捷 序 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
|