《C++ Builder 5高级编程实例精解》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:刘滨编著
  • 出 版 社:北京:国防工业出版社
  • 出版年份:2001
  • ISBN:7118024902
  • 页数:597 页
图书介绍:

第1章 C++Builder5深入剖析 1

1.1C++Builder——伟大的开发工具 3

1.2VCL高级话题 6

1.2.1深入TObiect类 6

1.2.2深入TApplication类 10

1.2.3深入TForm类 13

1.2.4TMetaClass和类引用 16

1.3抽象数据类型 16

1.3.1链表(TList) 17

1.3.2字符串(AnsiString) 22

1.3.3集合(Set) 23

1.3.4动态数组(DynamicArray) 25

1.3.5流(TStream) 26

1.4使用C++Builder5的VCL增强 27

1.4.1C++Builder5的新特点 27

1.4.2使用TActionList组件和TMonthCalender组件 30

1.4.3ADOExpress组件编程 33

1.4.4框架(Frame)技术编程 36

第2章 功能齐全的多文档书写器——高级文本处理 39

2.1文本编辑组件的高级用法 41

2.1.1TEdit组件和TMaskEdit组件 41

2.1.2TMemo组件和TRichEdit组件 43

2.2多文档界面(MDI)和多页面界面(MPI)技术 45

2.2.1多文档接口与MDI应用程序 45

2.2.2多页面界面MPI 46

2.3实例创建分析 48

2.4创建MDI的编辑环境 49

2.4.1主窗体和子窗体界面 50

2.4.2实现可停驻(Docking)工具条 51

2.4.3菜单融合处理和窗体布局控制 53

2.5基本文本编辑功能的实现 54

2.5.1文档的打开、存盘、关闭和打印 54

2.5.2剪贴板编辑功能 58

2.6字体格式控制、查找与替换 59

2.6.1字体和段落格式控制 60

2.6.2查找与替换 64

2.7实现高级功能 67

2.7.1历史文件列表菜单 68

2.7.2当前光标所在行、列数的报告 70

2.7.3实现MDI父窗体的背景贴图 71

第3章 完整的文件管理器——文件操作和文件流 74

3.1C++Builder的文件操作支持 76

3.1.1建立、打开和关闭文件 77

3.1.2文件的读写操作 78

3.1.3用于文件操作的可视化组件 81

3.2实例创建分析 83

3.3界面风格:TTreeView和TListView 84

3.3.1树视图组件TTreeView 84

3.3.2列表视图组件 87

3.3.3创建范例程序界面 88

3.4文件管理和浏览 89

3.4.1初始化工作 89

3.4.2树视图的组织和显示 90

3.4.3列表视图的组织和显示 92

3.4.4用户浏览命令的响应 96

3.5实现文件操作功能 98

3.5.1文件的拷贝、剪切、删除 99

3.5.2Win32风格文件重命名的实现 101

3.5.3文件属性的检视与修改 102

3.6文件流和内存流 104

3.6.1文件流(TFileStream类与THandleStream类) 104

3.6.2内存流(TMemoryStream类) 105

3.6.3其他流式对象 107

3.7文件相关的高级话题 109

3.7.1文件加锁和解锁 109

3.7.3遍历外壳名空间 111

3.7.2ShellAPI 111

3.7.4使用SHBrowseForFolder函数和SHFileOperation函数 117

第4章 可与ACDSee媲美的BCBSee32——深入图像文件编程 122

4.1图像显示技术 124

4.1.1Windows图形设备接口 124

4.1.2Tlmage组件 125

4.2现实图形对象 127

4.2.1TGraphic类 127

4.2.2TBitmap类 128

4.2.3TIcon类和TMetafile类 129

4.3.1功能强劲的TJPEGImage类 132

4.3使用和控制JPEG格式图像 132

4.3.2TJPEGImage应用示例 134

4.4实例创建分析 136

4.5创建程序界面及浏览窗体部分的实现 137

4.5.1创建程序界面 137

4.5.2浏览系统(Browser)实现 138

4.5.3预览显示处理 141

4.6实现观察窗体部分 142

4.6.1为图像量身定做窗体 142

4.6.2Viewer窗体中的图像浏览、幻灯功能 144

4.6.3全屏显示和放大、缩小显示 145

4.7.1将图像转换为Bitmap格式 147

4.7图像格式转换和图像打印 147

4.7.2将图像转换为JPEG格式 149

4.7.3图像打印输出 150

4.8实现特色功能 152

4.8.1设置墙纸 152

4.8.2放大镜的实现 153

第5章 图像编辑软件BCB画板——数字图像处理和图像编辑 156

5.1TCanvas画布类 158

5.1.1TCanvas类的重要属性和方法 158

5.1.2TPen、TBrush和TColor 160

5.1.3重画问题 162

5.2实例创建分析 163

5.3图像编辑程序框架 164

5.3.1创建应用程序界面 164

5.3.2使用光标 165

5.3.3具箱和颜料盒的实现 167

5.4图像绘制——画图功能的实现 168

5.4.1铅笔、画刷和橡皮 169

5.4.2颜料桶和喷枪 171

5.4.3放大缩小图像、绘制文字 172

5.4.4规则图形的绘制 173

5.5.1区域选择的实现 177

5.5区域选择和图像的剪贴、复制 177

5.5.2应用剪贴板 178

5.6新建、打开、存储文件及简单图像处理 181

5.6.1新建、打开、存储文件 181

5.6.2尺寸设置、反色及图像打印 183

5.7图像处理高级话题 185

5.7.1提升速度 185

5.7.2图像色彩调整 188

第6章 多样Windows屏幕保护程序——动画技术与图形技巧显示 194

6.1.1双缓冲区(DoubleBuffer) 196

6.1.2TPaintBox组件和TTimer组件 196

6.1Windows动画技术 196

6.1.3生成高性能动画 197

6.1.4掩图技术 200

6.2实例创建分析 202

6.3实现屏幕保护程序框架 203

6.3.1获取并处理应用程序参数 203

6.3.2消息映射 204

6.4动画和特技显示 208

6.4.1屏保的动画部分 208

6.4.2技巧显示 212

6.4.3音乐播放功能 216

6.5屏保设置部分的实现 217

6.5.2使用注册表 218

6.5.1存取文件列表 218

6.6.1桌面精灵动画 222

6.6动画技术的其他话题 222

6.6.2逐帧动画 224

6.6.3多媒体定时器 225

6.6.4高级动画 227

第7章 完美的多媒体播放器——深入多媒体技术 228

7.1多媒体技术探秘 230

7.1.1多媒体技术的核心 230

7.1.2Windows操作系统的多媒体服务 230

7.1.3C++Builder的多媒体编程 232

7.2.1多媒体TMediaPlayer组件 234

7.2多媒体相关组件和多媒体编程 234

7.2.2动画组件TAnimate 237

7.2.3多媒体编程的一般原则 238

7.3实例创建分析 239

7.4媒体播放部分的实现 240

7.4.1基本媒体播放控制 240

7.4.2视频播放相关处理 243

7.5其他关键问题处理 245

7.5.1数字显示实现——使用资源文件 245

7.5.2播放时间进度显示 247

7.5.3实现无标题面板的拖动 248

7.5.4实现音量调整功能 249

7.6MCI与高级多媒体性能 250

7.6.1TMediaPlayer组件 250

7.6.2命令消息接口与mciSendCommand语言 251

7.6.3播放文件和录制声音 253

7.7底层多媒体API 256

7.7.1RIFF文件 256

7.7.2使用低级API实现Wave播放 257

第8章 俄罗斯方块游戏——VCL游戏编程与实用技术 265

8.1实例创建分析 267

8.2.1程序策划 269

8.2实现俄罗斯方块程序的核心部分 269

8.2.2数据处理和定制窗体 270

8.3工作模块具体实现 273

8.3.1核心工作模块 273

8.3.2其他问题 283

8.4实用技巧 284

8.4.1创建帮助系统 285

8.4.2使用INI文件 290

8.4.3溅出屏幕(SplashScreen) 292

8.5为游戏程序增加手柄支持 294

第9章 快速文件处理工具——进程和多线程技术 298

9.1.1进程存储 300

9.1进程和进程创建 300

9.1.2进程创建方法 301

9.1.3后台进程:制作Windows版的ARJ工具 303

9.2Win32多线程技术 305

9.2.1C++Builder中实现多线程 306

9.2.2TThread类 307

9.3实例创建分析 308

9.4实现多线式文件处理工具的技术要点 309

9.4.1主界面线程 309

9.4.2查找线程 311

9.4.3与VCL同步 313

9.4.4线程的终止 314

9.4.5拷贝线程 315

9.5多线程调度和线程通信 315

9.5.1优先级和调度 315

9.5.2TEvent与线程通信 317

9.6多线程高级话题 319

9.6.1对线程计时 319

9.6.2线程本地存储 320

9.6.3线程同步问题 321

第10章 HTML浏览器——Internet相关技术 328

10.1.1使用CppWebBrowser组件 330

10.1HTTP协议和CppWebBrowser组件 330

10.1.2使用NMHTTP组件 332

10.2创建BCBWebBrowser浏览器程序 336

10.2.1CoolBar工具栏 336

10.2.2实现Web页的显示和浏览功能 339

10.2.3辅助功能实现 342

10.3BCBWebBrowser的第2版本 345

10.3.1安装ActiveX控件 346

10.3.2使用WebBrowser控件 347

10.3.3使用文件传输协议(FTP) 348

10.3.4邮件协议和其他特定协议 351

第11章 网页留言簿系统——服务器端Web编程 354

11.1生成HTML页面 356

11.1.1使用PageProducer组件 356

11.1.2在Web页发布数据库 358

11.2创建动态Web内容 362

11.2.1标准CGI编程 362

11.2.2利用WebModules技术创建服务器程序 364

11.2.3实现网站计数器程序 367

11.3创建基于ISAPI的留言簿系统 369

11.3.1ISAPI编程概述 370

11.3.2在C++Builder中创建ISAPIDLL 371

11.4.1获取用户输入信息 372

11.4实现留言簿填写模块 372

11.4.2与数据库连接 374

11.5实现留言簿浏览模块 376

11.5.1显示留言列表 377

11.5.2显示留言簿详细内容 379

11.6关于服务器端编程的进一步讨论 380

11.6.1QueryTableProducer组件 380

11.6.2在线考试/问卷系统 381

11.6.3聊天室系统 382

第12章 网络五子棋——WinSock编程 384

12.1WinSock编程概述 386

12.1.3操纵Socket对象传输数据 387

12.1.1建立服务器端Socket 387

12.1.2建立客户端Socket 387

12.2实例创建分析 390

12.3实现网络五子棋程序 391

12.3.1游戏前期工作 392

12.3.2实现联机游戏系统 395

12.3.3简单的辅助功能 401

12.4WinSock编程高级话题 401

12.4.1流类数据传输 401

12.4.2利用WinSock定制协议 402

12.5使用TPowerSock组件类 406

12.4.3在阻塞状态下传输数据 406

12.5.1TPowerSock组件 407

12.5.2TNMStrnm和TNMStrmServ组件 408

第13章 图像时钟组件——创建VCL组件 411

13.1C++Builder组件和组件包 413

13.1.1扩展VCL组件 413

13.1.2创建组件的原则 413

13.1.3组件包 414

13.1.4创建个简单的组件 414

13.2组件编程 418

13.2.1创建组件的起点 418

13.2.2链接图像组件 420

13.2.3编写组件代码 422

13.2.4创建事件 424

13.3创建图像时钟组件 426

13.3.1为组件增加枚举类型属性 429

13.3.2绘制时钟 430

13.3.3增加TPersistent属性 434

13.3.4增加新创建的事件 435

13.3.5组件面板位图 437

13.3.6测试TCoolClock组件 438

13.4创建非可视化组件 439

13.4.1创建TOpenDirDialog组件 440

13.4.2使用非可视化组件 442

第14章 系统环境监视程序——DLL及应用WindowsAPI编程 444

14.1关于DLL 446

14.1.1在C++Builder中创建DLL 447

14.1.2使用DLL实现窗体重用 449

14.2实例创建分析 451

14.2.1理解WindowsAPI 451

14.2.2程序分析 452

14.3编写任务栏指示区图标支持 453

14.4.1自绘标题栏 456

14.4利用API实现特殊风格的标题栏 456

14.4.2实现标准标题栏功能 459

14.5窗口与程序 460

14.5.1获得当前所有窗口 460

14.5.2动态汉化窗口菜单 462

14.5.3获得当前激活的进程 465

14.5.4查看/删除系统启动程序 467

14.5.5杀除进程 469

14.6系统与设备 470

14.6.1获取和设置驱动器信息 471

14.6.2获取内存资源信息 474

14.6.3获取设备信息与动态调整显示 476

14.6.4获取和设置系统环境变量 479

第15章 BCB抓图大师——高级DLL技术和钩子函数 481

15.1DLL彻底研究 483

15.1.1动态加载DLL 483

15.1.2DLL入口点及生存周期 485

15.2插件(Plug-In)技术 487

15.2.1插件技术分析 487

15.2.2插件程序实例 488

15.3实例创建分析 492

15.4钩子(Hook)函数 493

15.4.1Windows的钩子函数 494

15.4.2使用钩子函数的问题 495

15.4.3键盘钩子 496

15.5进程间数据共享 500

15.5.1利用内存映像文件共享数据 500

15.5.2在DLL中实现存取全局内容代码 502

15.6截图程序的具体实现 503

15.6.1全局存取内存区域的数据组织 504

15.6.2抓图设置处理 506

第16章 COM对象、自动化和XCoolClock控件——组件对象模型(COM) 509

16.1理解COM接口及其实现 511

16.1.1关于COM基本概念 511

16.1.2在DLL实现类 513

16.2实现COM对象 516

16.2.1COM的服务程序类型 517

16.2.2创建COM对象 517

16.2.3创建客户程序 522

16.3几个关键问题 524

16.3.1GUID、CLSID和ⅡD 524

16.3.2IUnknown接口 525

16.3.3类工厂(ClassFactory) 526

16.4IDispatch、双重接口及dispinterface 526

16.4.1创建Automation对象 526

16.4.2创建调用Automation对象的客户程序 530

16.4.3IDispatch和双重接口 534

16.5实现Word和Excel自动化 535

16.5.1使用Variant进行自动化 536

16.5.2自动化Excel 540

16.5.3内部自动化应用程序 543

16.6InternetExplorer控件的高级用法 546

16.6.1类型库(TypeLibrary) 546

16.6.2BCBWebBrowser的第3版本 548

16.7ActiveX技术和创建ActiveX控件 550

16.7.1创建TCoolClock的ActiveX版本 551

16.7.2为ActiveX控件添加属性 554

16.7.3为ActiveX控件编写属性页 556

16.7.4ActiveForm方法 558

第17章 DirectX下的Block游戏——DirectX编程 562

17.1DirectX技术及DirectX编程概述 564

17.1.1DirectX的组成 564

17.1.2DirectX编程方式 565

17.2使用DirectDraw 566

17.2.1强劲的DirectDraw技术 566

17.2.2建立简单的DirectDraw程序 566

17.2.3DirectDraw编程问题 570

17.3实例创建分析 574

17.3.2处理位图资源 575

17.3.1程序架构 575

17.3.3Block工程说明 576

17.4具体实现Block游戏 576

17.4.1深入DirectDraw:调色板和位图对象 577

17.4.2构造TRing类:绘制DirectDraw位图 579

17.4.3游戏的启动部分 582

17.4.4游戏进行部分 583

17.4.5实现规则 588

17.4.6最后的工作——释放对象 590

17.5DirectX技术的其他部分 592

17.5.1使用Direct3D 592

17.5.2使用DirectSound 595