注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计C/C++及其相关Borland C++Builder应用开发大全

Borland C++Builder应用开发大全

Borland C++Builder应用开发大全

定 价:¥118.00

作 者: (美)[C.卡尔弗特]Charlie Calvert[等]著;徐科[等]译
出版社: 清华大学出版社
丛编项: 编程与开发系列丛书
标 签: Builder

ISBN: 9787302035985 出版时间: 1999-06-01 包装:
开本: 26cm 页数: 1115页 字数:  

内容简介

  本书深入系统地介绍了Borland C++ Builder及如何使用它开发Windows应用程序。从基本的Windows程序到数据库编程,乃至最新的Internet网络浏览器。全书共分8部分,系统地介绍了使用C++ Builder开发平台创建关系数据库,客户机服务器和多层数据库、创建组件、Internet网络浏览器,以及如何编写ActiveX、DCOM和OLE程序,创建丰富多彩的图形界面和多媒体技术等。本书内容丰富,可读性强,是一本C++ Builder方面权威的著作。

作者简介

暂缺《Borland C++Builder应用开发大全》作者简介

图书目录

第1部分  入门指南

第1章  C++ Builder导论
1.1  本书面向的对象
1.2  如何阅读本书
1.2.1  本书的指导思想
1.2.2  分布式计算
1.3  新的调试工具
1.3.1  调试一个DLL
1.3.2  在EXE文件内部调试DLL
1.3.3  在DLL中设置断点以及其他的技巧
1.3.4  与C++ Builder 1.0版本的区别
1.4  VCL的概念
1.4.1  可视化组件的时代
1.4.2  组件的优点
1.4.3  核心技术:组件、属性、委托模型
1.5  为什么使用VCL
1.5.1  保留OWL和MFC中的代码
1.6  准备工作
1.6.1  版权说明
1.6.2  代码中的错误
1.6.3  有关引用Delphi的问题
1.6.4  优化代码
1.6.5  配套的光盘
1.7  小结
第2章  事件
2.1  事件:C++ Builder委托模型
2.1.1  委托和Windows API函数
2.1.2  在C++ Builder中创建事件
2.1.3  委托与继承
2.1.4  免协议编程(Contract-Free Programming)
2.1.5  委托模型的小结
2.2  使用委托模型
2.2.1  C++ Builder的事件:EVENTS1事件
2.2.2  处理OnClick事件
2.2.3  处理MouseDown事件
2.2.4  响应KeyDown事件
2.2.5  处理OnKeyPress事件
2.3  了解事件
2.3.1  为什么Windows是面向事件的
2.4  从事件中提取信息
2.4.1  使用集合跟踪消息
2.4.2  SETEXP程序
2.4.3  使用TShiftState
2.4.4  并集、交集和差集
2.5  EVENTS2程序:事件的详细内容
2.5.1  移动鼠标事件的详细情况
2.5.2  捕捉虚拟键
2.5.3  直接处理事件
2.6  MENUDEF程序:菜单、WM-COM-MAND和ndProc
2.6.1  了解MENUDEF程序
2.6.2  获取菜单项的ID值
2.6.3  捕捉WM-COMMAND消息
2.6.4  将WndProc作为程序的主函数
2.7  小结
第3章  异常
3.1  如何使用异常
3.2  有关异常的理论
3.2.1  异常的作用
3.2.2  缺省的异常处理程序
3.2.3  整个程序是一个try模块
3.2.4  未处理的异常所造成的危险
3.3  异常类
3.4  异常的基本语法
3.4.1  一个简单的try..catch模块
3.4.2  将异常与出错字符串相对应
3.4.3  查找出错的位置
3.4.4  异常处理的小结
3.5  发送异常
3.5.1  发送一个整数
3.5.2  发送VCL异常类
3.5.3  了解VCL异常类
3.5.4  多重catch语句
3.5.5  在通用的catch语句中捕获异常
3.6  创建和生成自己的异常
3.7  再次发送异常
3.8  异常和析构函数
3.9  流、异常和释放内存
3.10  代替缺省的异常处理程序
3.11  使用资源跟踪出错字符串
3.12  小结
第4章  C++类和可视化组件模型
4.1  多重继承
4.1.1  处理其他类型的继承
4.2  不使用多重继承的类库设计
4.2.1  输出流
4.2.2  一般性和特殊性
4.2.3  多重继承和多文档
4.2.4  如何使用多重继承
4.3  异常处理
4.3.1  操作系统的异常
4.3.2  混合异常模型
4.3.3  VCL异常
4.4  运行时的类型信息
4.5  纯虚拟函数
4.6  接口与实现
4.7  静态分配
4.8  构造对象
4.9  小结
第2部分  关系数据库
第5章  数据库基础知识
5.1  建立数据库工具
5.2  数据库基础知识
5.3  命名和结构约定
5.4  使用TQuery对象开发SQL
5.4.1  数据模块
5.5  TDataModule的用途
5.5.1  TDataModule的习惯用法
5.6  Object Repository
5.7  Database EExplorer
5.8  使用SQL Monitor
5.9  了解BDE和别名
5.10  别名
5.11  TCP/IP安装的一些说明
5.12  与ODBC的连接
5.13  TBatchMove组件
5.14  小结
第6章  使用TTable和TDataSet
6.1  可视化数据库控件与非可视化数据库控件
6.2  了解修订后的TDataSet类
6.2.1  TDataSet的主要子类
6.2.2  数据集(Dataset)的含义
6.3  TDataSet的核心方法
6.3.1  打开和关闭数据集
6.3.2  导航例程
6.3.3  检查数据集的开始或结束部分
6.3.4  通过MveBy方法导航记录
6.4  字段(Fields)
6.4.1  字段对象的常用方法
6.4.2  访问字段名
6.4.3  访问字段内容
6.4.4  FIELDOBJECT样本程序
6.4.5  FIELDER样本程序
6.5  修改数据
6.5.1  编辑数据集的重要方法
6.5.2  编辑和寄送记录的编编程问题
6.5.3  插入、添加和删除记录
6.6  查找
6.6.1  使用SetKey或FindKey进行查找
6.6.2  使用SetKey和GotoKey
6.6.3  使用FindKey和FindNearest
6.6.4  扫辅助索引查找
6.6.5  使用模糊查找
6.7  范围的确定
6.7.1  选择记录的范围
6.7.2  RANGER样本的范围
6.7.3  RANGER2样本程序
6.8  过滤
6.8.1  OnFilterRecord事件
6.8.2  FILTER样本程序
6.9  书签
6.10  使用Refresh(刷新)函数
6.11  关于TDataSet和TTable更多的内容
6.12  一对多关系:链接指针(Linked Cursors)
6.13  TDataSource基础知识
6.13.1  检查数据集的状态
6.14  跟踪数据集的状态
6.15  使用TDatabase
6.16  不使用可视化工具创建数据库
6.17  小结
第7章  SQL和TQuery对象
7.1  SQL属性
7.1.1  使用TQuery对象编程
7.1.2  从磁盘上装入通配符查询
7.2  TQuery和参数
7.2.1  编写用于参数化查询的SQL语句
7.2.2  编写参数化查询代码
7.2.3  参数生命线查询例子EASYSQL2
7.2.4  采用多连接变量查询
7.3  SQL属性和Format函数
7.3.1  PARAMSI程序中的Session对象
7.4  使用TQuery建立一对多关系
7.5  建立多个表之间的连接
7.6  RequestLive属性
7.7  参数化查询和连接语句
7.8  ExecSQL、Delete和Insert语句
7.8.1  使用SQL删除记录
7.8.2  使用SQL插入记录
7.9  特殊的TQuery属性
7.10  SQL的一些有趣内容
7.11  小结
第8章  使用字段对象
8.1  Fields Editor
8.1.1  启用Fields Editor
8.1.2  计算字段(Calculated Field)
8.1.3  Columns属性编辑器
8.2  查找字段(Lookup Fields)
8.2.1  使用Lookup程序
8.2.2  有关计算字段
8.2.3  有关查找字段
8.2.4  TDBLookupComboBox和TDBLookupListBox
8.2.6  在Lookup程序中插入和编辑数据
8.3  程序运行状态下的TDBGrid
8.3.1  在程序运行状态下控制TDBGrid的Options属性
8.3.2  在程序运行状态下显示DBGrid的选项
8.4  使用TDBGrid列
8.4.1  改变TDBGrid对象中的标题
8.4.2  改变TDBGrid对象中的一个单独列
8.4.3  改变TDBGrid对象中行的颜色
8.4.4  改变列的宽度
8.4.5  隐藏或移动TDBGrid中的列
8.4.6  在程序运行状态下移动列
8.5  多记录对象
8.6  小结
第9章  了解关系数据库
9.1  关系数据库入门
9.1.1  关系数据库模型的优点
9.1.2  简单的集合逻辑:关系数据库的基础
9.1.3  在DBD或Explorer中显示索引和关键字
9.2  非数字化规则:为每个表创建一个主码
9.2.1  一对多关系:数据和索引
9.2.2  使用主码
9.2.3  使用辅助索引和外码
9.2.4  关键字是数据库中的重点
9.3  在BCDEMOS数据库中浏览关键字和索引
9.3.1  使用Database Desktop创建索引
9.3.2  使用Database Desktop创建主码和外码
9.4  为什么要使用参照完整性
9.5  一对多关系:代码
9.5.1  关系数据库和Join
9.5.2  Join和QBE
9.5.3  使用SQL Builder
9.6  应该使用什么样的数据库
9.7  小结
第10章  实际的平面文件数据库
10.1  综述
10.2  本章中的样本程序
10.3  设计一个应用程序
10.3.1  定义数据
10.3.2  设计程序:索引
10.4  设计程序的外观
10.5  查找:使用Categry字段
10.6  为程序建立命令结构
10.7  检测应用程序的“草图”
10.8  创建最终的程序
10.9  设置只读模式
10.10  数据排序
10.11  数据搜索
10.12  数据过滤
10.13  字段的标记
10.14  颜色设置
10.15  使用注册表
10.16  导航注册表
10.17  从Run菜单下运行程序
10.18  在ADDRESS2程序中使用注册表
10.19  剪贴板:剪切、复制和粘贴
10.20  小结
第11章  会话和实际的关系数据库
11.1  实际的数据
11.2  检查关系地址程序
11.3  KDADDS程序的代码
11.3.1  使用KDADD程序
11.3.2  设置KDADD程序的索引
11.3.3  搜索记录
11.3.4  插入数据和取消操作
11.3.5  删除数据:第一次查看程序的数据模块
11.3.6  数据模块:级联删除(Cascading Deletes)
11.3.7  数据模块:整体寄送
11.3.8  在字符串资源中放置出错字符串
11.3.9  About框
11.4  使用KDADDEXPLORE程序
11.4.1   使用TSession 
11.4.2  KDADDEXPLORE程序的代码
11.4.3  使用TTreeView显示系统中的数据库
11.4.4  扩充TTreeView的节上噗
11.4.5   在TTreeView中添加可用表的列表
11.4.6  查找索引和字段
11.4.7  显示别名和别名参数
11.5  迁移数据、TBatchMove、临时表和NULL字段
11.6  小结
第3部分  客户机/服务器和多层数据库
第12章  使用本地InterBase服务器
12.1  关于InterBase
12.2  数据库与人才需求
12.3  配置本地InterBase
12.4  配置InterBase别名
12.5  创建数据库
12.6  用WISQL浏览数据库
12.7  事务处理
12.8  高速缓冲更新(cached updates)
12.9  多对多关系
12.10  安全性与InterBase服务器管理器
12.10.1  定义表的访问权限
12.10.2  通过服务器管理器备份表
12.11  小结
第13章  高级InterBase概念
13.1  MUSIC程序
13.2  设计MUSIC程序
13.2.1  创建数据库方案
13.2.2  改变表:Null或Not to Null
13.2.3  更名已有表中的字段
13.2.4  创建Blob字段
13.3  主码与外码
13.4  生成器、触目惊心发器与存储过程
13.4.1  不要在激活的索引中使用触发器
13.4.2  使用存储过程
13.4.3  C++ Builder端的存储过程
13.5  服务器端规则与客户端规则
13.6  MUSIC程序口综述
13.7  使用子窗体
13.8  MUSIC程序代码
13.8.1  使用MUSIC程序
13.8.2  屏蔽口令:TDatabase对象
13.8.3  ForCreate事件
13.9  使用MUSIC程序数据
13.9.1  查找
13.9.2  查询数据库问题:初级SQL
13.9.3  不返回数据集的存储过程
13.9.4  浏览确定范围内的数据
13.10  小结
第14章  快速报表、图形与电子报表工具
14.1  Windows打印综述
14.2  QuickReport基础
14.3  行、列、组和一对多
14.4  使用样本程序
14.5  ADDRESS2样本程序
14.5.1  ADDRESS2:打印地址
14.5.2  ADDRESS2:对报表中数据进行分组
14.6  MUSIC程序的报表
14.6.1  一对多报表
14.6.2  使用查询进行报表分组
14.7  打印窗体
14.7.1  Tprinter:打印文本、图形和位图
14.7.2  打印图形
14.7.3  打印位图
14.8  小结
第15章  客户机与服务器之间的连通性
15.1  连接到服务器
15.2  使用Microsoft SQL 6.5
15.2.1  创建一个MS SQL别名
15.2.2  访问你的数据库
15.2.3  将一个Paradox数据库程序转换到MS SQL
15.3  使用Oracle 7.32
15.3.1  访问你的Oracle数据库
15.4  使用Informix 7.20
15.4.1  访问Informix数据库
15.5  使用Sybase 11.02版本
15.6  使用DB2的2.1.2版本
15.6.1  连接DB2时可能出现的连接错误
15.6.2  访问你的DB2数据库
15.7  小结
第16章  多层数据库设计
16.1  多层数据库应用程序概述
16.2  C ++ Builder和Internet
16.3  分布式体系的三种类型
16.4  为什么DCOM会引起争论
16.5  DCOM是什么
16.5.1  在Windows 95下运行DCM服务程序
16.6  将已有的程序转变为多层应用程序
16.6.1  应用服务程序
16.6.2  设置DCOM
16.6.3  客户应用程序
16.6.4  VCL对象浏览器程序代码的修改
16.6.5  发送客户应用程序
16.7  介绍Active Forms
16.7.1  建立一个Active Form
16.7.2  了解OCCACHE
16.7.3  安装附加文件
16.8  使用CAB文件和程序包
16.8.1  有关许可的问题
16.8.2  使用带有Active Forms的模板
16.9  套接字和Active Forms
16.9.1  关于套接字的概述
16.9.2  使用套接字创建Mideas Active Forms
16.9.3  创建基于Midas的Active Forms
16.10  小结
第4部分  创建组件
第17章  继承性
17.1 对象
17.2  创建简单的对象
17.2.1  与VCL类特征的区别
17.3  继承性
17.4.1  类的引用
17.4.2  虚拟方法
17.4.3 反复设计
17.4.4  集成:VCL编程的层次
17.4.5  可视窗体继承性
17.4.6  可社窗体继承性的优点
17.5  小结
第18章  封装
18.1  综述
18.2  封装
18.2.1  隐藏数据
18.2.2  内联方法
18.3  简单性:一个好的对象设计的秘诀
18.4  一个具体的实例
18.4.1  TWidget和其析构函数
18.4.2  使用Widgets
18.5  属性
18.6  流控制类
18.6.1  从流中读取一组件
18.7  关于属性的其他内容
18.7.1  使用StringLists
18.7.2  用字符串索引数组
18.7.3  只读属性
18.7.4  易使人误解的default指示符
18.8  小结
第19章  多态性
19.1 综述
19.2  多态性
19.3  多态性的简单例子
19.4  多态赋值勤兼容性
19.4.1  子对象与父对象赋值的兼容性
19.4.2  从另一角度看多态性
19.5  虚拟方法与多态性
19.5.1  ClassicShapeDemo程序
19.5.2  使用TCustomControl
19.6  VCL中的多态性
19.7  封装的多态性要点综述
19.8  小结
第20章  创建已有组件的继承类
20.1  组件理论
20.2  创建一个已有组件的继承类
20.2.1  创建组件
20.2.2  程序包简介
20.2.3  组件构造函数
20.2.4  测试组件
20.2.5  安装组件
20.3  扩展Unleash单元
20.4  从底层创建组件
20.4.1  时钟组件
20.5  时钟组件的代码
20.5.1  时钟的启动
20.5.2  时钟的绘制
20.5.3  TColorClock对象
20.5.4  GOLDCLOCK程序
20.6  为组件创建图标
20.7  使用API工具
20.7.1  单一类型的属性编辑器
20.7.2  类属性编辑器
20.7.3  类型Class的流属性
20.7.4  测试DsgnIntf.cpp
20.7.5  注册属性编辑器
20.7.6  使用组件编辑器
20.8  Clock2:扩展组件和属性编辑
20.8.1  安装组件
20.8.2  创建组件编辑器
20.9  小结
第21章  程序包
21.1  什么是程序包
21.2  程序包如何工作
21.3  程序包与DLL
21.4  使用程序包的优点
21.5  与程序包相关的文件
21.6  安装程序包
21.7  创建程序包
21.7.1  System Tray Icon程序包(TTrayIcon)
21.7.2  TTrayIcon的属性
21.8  Scroll Panel程序包(TScrollPanel)
21.9  小结
第22章  创建组件
22.1  仓库
22.1.1  接口
22.2  Widget和Pallet组件的层次
22.2.1  了解TWidgee,TPentium和TPentiumPro
22.3  Pallet控件
22.3.1  TDataPaller和拖曳
22.3.2  TDataPallet和数据库
22.4  查询数据库
22.5  查看层次
22.6  小结
第5部分  C++ Builder和Internet
第23章  NetMasters因特网组件
23.1  Internet简介
23.1.1  UUCP:历史的回顾
23.1.2  TCP/IP:历史简介
23.1.3  以太网(Ethernet):把我们连接起来的硬件平台
23.1.4  IP:网际协议
23.1.5  TCP:传输控制协议
23.1.6  UDP:用户数据报协议 
23.1.7  端口:基本的连接单元
23.2  NetMaster因特网组件简介
23.2.1  组件列表
23.3  例子
23.3.1  例子1:离线组件
23.3.2  例子2:简单的调试组件
23.3.3  例子3:发送和接收数据
23.3.4  例子4:基于Web的组件
23.3.5  例子5:新闻、文件和Fingers
23.3.6  例子6:基于邮件的组件
23.3.7  例子7:UDP消息
23.3.9  例子中未涉及到的问题
23.4  小结
第24章  WebBroker组件
24.1  TClientSocket组件
24.2  TServerScket组件
24.3  TWebDispatcher组件
24.4  TPageProducer组件
24.5  TQueryTableProducer组件
24.6  TDataSetTableProducer组件
24.7  使用WebBroker组件的例子
24.7.1  运行CGI程序的HTML文件
24.7.2  创建简单的CGI程序
24.8  TServerSocket组件的其他用法
24.8.1  AWChatServer的初步设计
24.8.2  AWChatServer的实现
24.8.3  AWChatServer客户程序
24.9  小结
第25章  使用WININET创建FTP应用程序
25.1  准备工作
25.2  确定FTP在系统中正常运行
25.3  使用WININET的FTP
25.3.1  使用InternetOpen
25.3.2  使用InternetConnect
25.4  连接以后
25.5  检索文件
25.6  向FTP服务器发送文件
25.7  删除文件
25.8  建立和删除目录
25.9  一个简单的FTP控件
25.10  建立用户自绘(Owner-Draw)的列表框
25.11  小结
第6部分  ActiveX、DCOM和OLE
第26章  Automation
26.1  关于语言的说明
26.2  C ++ Builder和ATL
26.3  COM基础知识
26.3.1  COM的概念
26.3.2  COM和Windows
26.3.3  即插即用应用程序
26.3.4  COM存在的问题
26.3.5  COM与UNIX
26.3.6  COM+
26.4  创建一个简单的COM服务程序和客户程序
26.4.1  创建一个简单的服务程序
26.4.2  建立一个简单的客户程序
26.5  接口
26.5.1  IDispatch、双重接口和Dispinterfaces
26.5.2  VTables
26.6  类型库(Type Libraries)
26.6.1  什么是类型库
26.6.2  创建类型库
26.6.3  使用coclass
26.6.4  使用接口
26.6.5  定义接口的实现部分
26.6.6 合法的Automation类型
26.7  忽略TNoParams中的参数
26.8  有关注册的问题
26.9  对数据进行自动编组
26.10  使用WideStrings
26.11  从一个CoClass获取两个或多个接口
26.11.1  调用CoCreateInstance
26.12  小结
第27章  DCOM和OLEnterprise
27.1  一个简单的DCOM客户和服务器
27.1.1  建立DCOM客户
27.1.2  使用远程对象
27.2  变量数组
27.2.1 什么是变量数组
27.2.2  对数组的锁定和解锁
27.2.3  一个变量数组的样本程序
27.3  权衡远程数据集
27.3.1  ServerData程序
27.3.2  GETDATA:远程数据集的客户程序
27.4  程序数据和Automation数据
27.5  OLEnterprise的基本概念
27.5.1  OLEnterprise的使用对象
27.5.2  使用OLEnterprise
27.5.3  OLEnterprise故障排除
27.5.4  RPCSS
27.5.5  OLEnterprise和Midas
27.5.6  OLEnterprise小结
27.6  小结
第28章  创建新的ActiveX组件
28.1  ActiveX控件
28.2  C ++Builder 3中用来创建ActiveX控件
28.2.1  OLE的定义
28.2.2  OLE的功能
28.2.3  OLE SDK,OCF和MFC
28.2.4  Active Template Library(ATL)和ATLVCL
28.3  准备工作
28.3.1  OLE包容器各不相同
28.3.2  OLE的确不错,但有时结果却不可预知
28.4  使用传统方法建立ActiveX控件
28.4.1  步骤1:创建GUD
28.4.2  步骤2:编写.IDL文件
28.4.3  步骤3:运行MIDL.EXE
28.4.4  步骤4:编写.REG文件
28.4.5  步骤5:在包容器插入的对象列表中查看OCX
28.4.6  步骤6:综述
28.4.7  步骤7:准备头文件
28.4.8  步骤8:编写类工厂
28.4.9  步骤9:初始化对象
28.4.10  步骤10:回答QueryInterface
28.4.11  步骤11:从剪贴板获取数据  
28.4.12  步骤12:激活对象
28.4.13  步骤13:建立控件窗口
28.4.14  步骤14:实现Odds和Ends
28.4.15  步骤15:在窗体放入OCX控件
28.5  通过VCL组件创建ActiveX控件
28.5.1  Object Repository
28.5.2  创建ActiveX控件
28.6  使用ATL编写ActiveX控件
28.6.1  ATL的优点
28.6.2  ActiveX线程模型
28.6.3  建立Microsoft ATL样本
28.7  使用ATL创建OCX
28.7.1  ATL与VCL的区别
28.7.2  创建项目
28.7.3  添加DllEntryPoint和导出COM函数
28.7.4  添加类库
28.7.5  添加ATL头文件
28.7.6  添加继承来的OLE接口
28.7.7  添加对QueryInterface的支持
28.7.8  添加消息映射
28.7.9  添加属性
28.7.10  添加事件
28.7.11  添加注册表的支持
28.7.12  控件的初始化
28.7.13  添加自定义方法
28.7.14  添加.RC文件
28.7.15  添加.RGS文件
28.7.16  建立ActiveX控件
28.8  调试ActiveX控件
28.8.1  使用TD32调试OCX
28.8.2  使用C ++ Builder的集成调试器调试OCX
28.8.3  将C ++ Builder 3配置为即时调试器
28.9  小结
第7部分  图形
第29章  VCL的图形类
29.1  Windows的GDI和VCL的TCanvas
29.1.1  什么是GDI
29.1.2  VCL能使你的图形编程更简单
29.2  使用TCanvas
29.3  使用画刷(Brushes)
29.3.1  TBrush::Color属性
29.3.2  TBrush::Style属性
29.3.3  TBrush::Assign方法
29.4  使用画笔(Pens)
29.4.1  TPen::Style属性
29.4.2  TPen::Width属性
29.4.3  TPen::Mode属性
29.5  使用字型(Fonts)
29.5.1  TFont::Height属性
29.5.2  TFont::Size属性
29.5.3  TFont::Name属性
29.5.4  TFont::Style属性
29.5.5  旋转字型
29.6  TCanvas::PenPos属性
29.7  TCanvas::ClipRect属性
29.8  TCanvas::CopyMode属性
29.9  使用TCanvas::Pixels
29.10  掌握TCanvas方法
29.11  BRUSHMAIN例程源码
29.11.1  OnCreate事件
29.11.2  FormShow方法
29.11.3  设置Pen的模式(Mode)
29.11.4  使用字型(Fonts)
29.11.5  在Canvas上绘制图形
29.11.6  使用CopyModes
29.11.7  改变ClipRect
29.12  使用其他形式的线形
29.13  小结
第30章  颜色、调色板和图像
30.1  深入了解TColor
30.1.1  颜色样本方案
30.1.2  OnChange事件处理程序
30.2  调色板
30.3  再论Windows的图像文件格式
30.3.1  使用位图和DB
30.3.2  使用图标
30.3.3  使用元文件
30.4  使用TImage和TPaintBox
30.5  关于位图的补充说明
30.5.1  旋转位图
30.5.2  动态显示
30.5.3  淡入淡出
30.6  小结
第31章  在C++Builder中使用DirectDraw
31.1  何谓DirectDraw
31.2  设置DirectDraw
31.2.1  DirectDrawCreate
31.2.2  SetCooperativelLevel
31.2.3  SetDisplayMode
31.2.4  独占模式与Windowed模式
31.2.5  关于DirectDraw2的问题
31.3  DirectDrawSurface接口
31.3.1  Lock函数
31.3.2  IDirectDrawSurface2或IDirectDrawSurface3的问题
31.4  在DirectDraw中使用GDI
31.4.1  使用TBitmap
31.5  IDirectDrawPalette接口
31.5.1  创建一个自定义调色板
31.6  使用DirectDraw
31.6.1  动画制作
31.7  多表面和翻页技术
31.7.1  在背景上制作动画
31.8  创建DirectDraw组件
31.9  小结
第32章  在C ++Builder中使用Direct 3D
32.1  什么是Direct 3D
32.2  初始化Direct 3D应用程序
32.2.1  创建Direct 3DRM对象
32.2.2  DirectDrawClipper
32.2.3  Direct 3D着色选项
32.2.4  HandleActivate和HandlePaint
32.3  设置一个Direct 3D场景
32.3.1  Direct 3DRMFrame
32.3.2  光源
32.3.3  摄影机
32.4  用IMeshBuilder创建模型
32.4.1  在磁盘上保存模型
32.4.2  复杂的网格
32.4.3  变换模型
32.4.4  从磁盘调入网格对象
32.5  纹理贴图
32.5.1  包装一个模型
32.6  一个三维型和纹理浏览
32.7  小结
第8部分  高级话题
第33章  使用Delphi文件
33.1  如何使用Delphi代码
33.2  在C++ Builder中使用Delphi代码
33.3  在C++ Builder 3中使用Delphi组件
33.4  关于Pascal编译器
33.4.1  什么时候可以使用is
33.4.2  Real数据类型
33.4.3  继承Pascal对象模型
33.4.4  空集
33.4.5  Pascal和C++类型
33.5  头文件生成
33.5.1  多重构造函数
33.5.2  数组属性
33.5.3  变体记录
33.6  链接错误
33.6.1  Pascal类中的方法
33.6.2  Delphi中的句柄与C++ Builder 3中的句柄比较
33.6.3  字节与字对齐问题
33.7  项目示例:Monster Hunt
33.7.1  创建主窗体
33.7.2  关于Monster Hunt
33.7.3  游戏
33.8  Delphi和C++ Builder的结合
33.9  小结
第34章  OWL和Microsoft DLL的互用性
34.1  不能使用Microsoft Visual C++ 6的DLL情况
34.1.1  不要导出C++函数
34.1.2  不能导出类
34.1.3  不要发送脱离DLL的C++异常
34.1.4  不要在一端动态分配内存,而在另一端又将其释放掉
34.1.5  不要将RTL文件句柄传递给DLL
34.2  从Microsoft DLL中导入函数
34.2.1  为VC++的DLL创建一个工作文件.DEF
34.2.2  为VC++DLL创建一个实际的导入库
34.3  创建DLL的结束语
34.4  OWL支持
34.4.1  idetobpr:IDE转换成项目文件的工具
34.4.2  OWL动态设置
34.4.3  OWL、ClassLib和OCF库
34.4.4  简单的C++ Builder 5的OWL应用程序转变烦恼C++ Builder 3应用程序
34.5  支持MFC
34.6  标准C++库
34.7   如何处置以前的C++ Builder应用程序
34.8  混合使用OWL和VCL
34.8.1  OWL/VCL模板类
34.8.2  含有VCL窗体的OWL MDI应用程序
34.8.3  作为客户应用程序的OWL对话框
34.9  小结
第35章  动态/静态链接库和第三方问题
35.1  库链接和DLL加载概述
35.2  理解DLL库
35.3  创建DLL库
35.4  创建一个加载静态库的可执行程序
35.5  一个加载动态DLL的可执行演示程序
35.6  第三方DLL问题
35.7  名字分解
35.8  调用的约定
35.8.1  解决调用约定问题
35.9  使用别名
35.10  静态库
35.11  第三方静态库
35.12  小结

本目录推荐