前言 1
本书内容 1
本书的编排 1
本书使用的惯例 2
本书中的术语 2
不承诺 2
相关的出版物 2
关于作者 3
获得支持 3
致谢 4
第一章内容简介 4
第一章 先决条件和基础知识 5
1.1 你应具备1.2 什么样的硬件和软件? 5
1.3 硬件要求 5
1.2.1 C编程要求 5
1.2.2 C++编程要求 5
1.4 软件要求 7
1.7 安装所需的软件 8
1.6 开发对运行环境的要求 8
1.5 数据库说明 8
1.6.1 安装注意事项 9
1.7 VisualAge for C++文件夹中有些什么? 9
1.8 使用VisualAge C++文档 10
1.9 开始使用VisualAge for C++工具 16
1.10 本章小结 17
1.11 第二章简介 18
2.1.1 使用部件选择器 19
2.1 开始运行Visual Builder 19
第二章 创建Hello World应用程序 19
2.1.2 部件选择器选项 20
2.2 创建一个新的可视部件 21
2.3 熟悉集中编辑器 23
2.3.1 条目和控制 23
2.3.2 自由表格区 24
2.3.3 使用工具条 25
2.3.4 Visual Builder菜单条 25
2.4 使用控制——IFrameWindow 25
2.4.1 改变字体 27
2.4.2 生成C++代码 29
2.4.3 建立并运行Hello World应用程序 31
2.5 为Hello World增加更多的功能 33
2.5.1 子部件名称 34
2.5.2 选择部件 35
2.5.3 连接 35
2.5.4 保存并创建改进了的Hello World 38
2.5.5 浏览代码 38
2.7 第三章简介 44
2.6 本章小结 44
第三章 建立一个加法器 45
3.1 理解VisualAge部件 45
3.1.1 可视部件 45
3.1.2 非可视部件 46
3.2 建立一个加法器 46
3.2.1 取名习惯 47
3.2.2 构造AdderView 48
3.2.3 什么是组和Tab停止位? 54
3.2.4 设置 Group 和 Tab Stop 55
3.2.5 使用部件接口编辑器 61
3.3 运行已完成的加法器 69
3.4 本章小结 69
3.5 第四章简介 70
第四章 建立一个计算器 73
4.1 拷贝部件 73
4.1.1 构造计算器 74
4.2 测试计算器用户界面 83
4.2.1 增加处理器 86
4.2.2 消除编辑框内容 88
4.2.3 设置Result编辑框 90
4.2.4 增加一个应用程序图标 92
4.2.5 为工具条增加一个弹出式菜单 93
4.2.6 禁止改变主窗口的大小 95
4.2.7 建立完整的计算器用户界面 95
4.2.8 测试完整的计算器用户界面 95
4.3 本章小结 96
4.4 第五章简介 96
5.1.1 动作、属性和事件 97
第五章 完成计算器应用程序设计 97
5.1 理解VisualAge部件 97
5.1.2 在计算器中增加动作 98
5.1.3 增加有效特性 98
5.1.4 修改属性类型 99
5.2 生成Calc的代码 101
5.2.1 在Calc部件中增加C++代码 103
5.2.2 提交异常 103
5.3 使用改进了的Calc非可视部件 104
5.3.1 初始化一个编辑框 105
5.3.2 修改属性-属性连接 106
5.4 实现异常处理 107
5.4.1 定制逻辑 107
5.4.2 消息框 110
5.4.3 编译和测试计算器程序 110
5.5 本章小结 111
5.6 第六章简介 111
6.2 使用跟踪来理解应用程序 113
6.1 介绍跟踪工具 113
第六章 调试程序 113
6.2.1 在程序中加入跟踪点 115
6.2.2 跟踪所需的系统设置 115
6.2.3 理解跟踪信息 116
6.3 介绍源代码调试器 117
6.3.1 调试计算器应用程序 117
6.3.2 启动调试器 118
6.3.4 在调试器中设置断点 119
6.3.3 在调试器中查看源代码 119
6.3.5 逐步运行源代码 120
6.4 本章小结 123
6.5 第七章简介 123
第七章 建立一个Reminder List 125
7.1 使用子部件 125
7.1.1 Reminder List的要求 125
7.1.2 构造Reminder应用程序 127
7.1.3 Reminder程序的可视部件 127
7.1.4 设置IMultiCellCanvas控制 128
7.1.6 使用IRadioButton控制 132
7.1.5 使用一个IsetCanvas 132
7.2 运行Reminder List 的用户界面 138
7.3 创建Reminder窗口的菜单条 138
7.3.1 建立帮助菜单结构 141
7.3.2 产品信息窗口 141
7.4 实现一个弹出式菜单 145
7.4.1 连接Reminder的弹出式菜单 146
7.4.2 使用一个IVBInfoArea 146
7.5 定制IMultiCellCanvas 148
7.6 什么是帮助文件? 149
7.6.1 编译一个帮助文件 151
7.6.2 测试应用程序的帮助功能 151
7.6.3 自动装入.VBB文件 154
7.7 本章小结 155
7.8 第八章简介 155
第八章 完成Reminder List程序 157
8.1 复习一下Rerninder程序 157
8.1.1 理解客户的需求 157
8.1.2 建立单选按钮管理器非可视部件 158
8.1.3 定义属性 160
8.1.4 定义动作 160
8.1.5 增加用户代码 162
8.1.6 单选按钮管理器如何工作 163
8.2 使用永久数据 164
8.2.1 使用IProfile类 164
8.2.2 设置IProfile 165
8.2.3 重叠连接 167
8.2.5 编辑和运行 168
8.2.4 设置Iprofile关键字 168
8.3 测试Reminder程序 170
8.3.1 查看Windows Registry 170
8.3.2 查看OS/2的 REMINDER.INI文件 170
8.4 本章小结 171
8.5 第九章简介 172
第九章 汽车租用(CarLeese)程序 173
9.1 程序要求 173
9.2 建立CustomerCanvas 173
9.2.1 拷贝控制 174
9.2.3 用静态文本显示数据 176
9.2.2 在多格画板中增加行 176
9.2.4 在多格画板中增加一个输入域 178
9.3 把多格画板设置成可扩展的 179
9.4 测试CustomerCanvas 180
9.4.1 运行一个画板 180
9.4.2 建立TestView 180
9.4.3 运行TestView 181
9.5 建立LeaseCalc非可视化部件 182
9.6.1 设计要点 183
9.6 定义属性 183
9.7 定义动作 184
9.8 增加LeaseCalc的代码 184
9.8.1 使用Icolor类 186
9.9 完成LeaseCalc程序 187
9.10 建立MyDate部件 188
9.10.1 继承部件特征 189
9.10.2 把继承的特性增加到有效连接表中 189
9.11 完成应用程序设计 191
9.12 运行LeaseCalc测试程序 192
9.13 运行程序 193
9.14 本章小结 194
9.15 第十章简介 194
第十章 使用文本文件 195
10.1 构造CustomerListCanvas部件 195
10.1.1 使用List Box部件 195
10.2 测试CustomerListCanvas 197
10.1.2 完成设置 197
10.3 建立FlatFile非可视化部件 199
10.3.1 定义属性 199
10.3.2 定义事件 200
10.3.3 定义动作 200
10.4 生成FlatFile代码 200
10.6 为FlatFile非可视化部件增加逻辑 201
10.5.1 定义Open动作 201
10.5.2 使用Close动作 203
10.5.3 定义readLine动作 203
10.5.5 定义WriteLioe动作 204
10.5.4 定义readFile动作 204
10.7 使用FlatFile部件 205
10.8 运行TestView2程序 207
10.8 建立LeaseFileParser 209
10.8.1 定义属性 209
10.8.2 定义事件 209
10.8.3 定义动作 209
10.9 在LeaseFileParser非可视化部件中增加算法 210
10.9.1 编写setInputLine函数代码 211
10.9.2 编写addToColletion成员函数的代码 212
10.9.3 编写ParseLine成员函数的代码 212
10.9.4 编写elementAt动作的代码 213
10.10 测试LeaseFileParser部件 213
10.11 运行完整的TestView2程序 214
10.12 本章小结 216
10.13 第十一章简介 216
11.2.1 什么是记事簿? 217
11.2 对INotebook控制的考虑 217
11.1 对汽车租借应用程序的总结 217
第十一章 完成租借程序 217
11.3 定义租借记事簿的视图 218
11.3.1 选择记事簿部件 218
11.4 设置记事簿页面 220
11.5 使用INiewProt控制 221
11.6 视图的考虑 222
11.7 建立一个非可视复11.8 合部件 223
11.8.1 连接非可视部件 225
11.9 定义属性 225
11.8.2 继承特性 227
11.10 完成汽车租借应用程序 230
11.10 完成CustomerCanvas部件 230
11.11 完成LeaseNotebook部件 230
11.12 使用记事簿中的变量 231
11.14 本章小结 235
11.15 第十二章简介 236
第十二章 创建一个数据浏览程序 237
12.1 建立客户数据库 237
12.2.1 启动Data Access Builder的一些变化 238
12.3 把数据库表映射到C++部件上 238
12.2 数据访问建立器(Data Access Builder) 238
12.3.1 建立其它映射 241
12.3.2 浏览表映射 241
12.4 生成Data Access代码 243
12.5 编译Data Access部件 244
12.6 查看.VBE文件 244
12.7 引入Data Access部件 245
12.8 构造DBViewer 245
12.9 使用容器控制 246
12.9.1 使用容器的列 247
12.10 测试DBViewer 249
12.11 使用IDatastore部件 249
12.12 运行完整的DBVIEWER程序 251
12.13 分发使用了DB2的程序 252
12.13.1 把可执行文件捆绑到数据库上 252
12.14 本章小结 253
12.15 第十三章简介 254
13.1 建立一个可重用的画板 255
第十三章 增加数据库记录 255
13.1.1 构造ContactCanvas部件 256
13.1.2 继承ContactCanvas部件特性 258
13.1.3 多重继承 258
13.1.4 构造ContactAddView 259
13.1.5 完成ContactAddView的用户界面设计 260
13.2 改进DBVIEWER部件 261
13.2.1 使用提交和回滚 261
13.3 什么是工厂? 262
13.2.2 设置DetailsViewSplit 262
13.3.1 使用对象工厂 263
13.3.2 检查对象工厂 263
13.3.3 在工厂上使用变量 264
13.3.4 创建模式对话框 265
13.3.5 什么是自动删除? 266
13.3.6 测试次级窗口 267
13.4 把一条记录增加到数据库中 267
13.5 测试增加记录功能 270
13.6 实现一个字符串生成器 271
13.6.1 连接提交和回滚 272
13.6.2 把程序捆绑到数据库上 274
13.7 测试完整的DBAddRecord程序 275
13.7.1 最后几点考虑 275
13.8 本章小结 276
13.9 第十四章简介 276
第十四章 其它编程技术 277
14.1 建立DLL 277
14.1.1 DLL的Make文件 278
14.1.2 建立一个资源DLL 280
14.1.4 工具条按钮的位图尺寸 282
14.1.3 工具条按钮的位图 282
14.1.5 位图转换 285
14.1.6 位图的其它用法 285
14.2 抽取资源字符串 286
14.3 多重继承 287
14.4 WorkFrame IDE 288
14.4.1 Project Smart(项目精灵) 288
14.5 建立一个灵巧窗口(Smart window) 288
14.5.1 实现方法 290
14.6 使用类结构浏览器 291
14.7 了解错误日志 293
14.9 在Windows 3.1下运行程序 294
14.9.1 Windows 3.1的限制 294
14.8 将参数传递给程序 294
14.10 提高应用程序的性能 295
14.10.1 减少运行时刻DLL的大小 295
14.10.2 动态连接与静态连接 295
14.11.2 容器视图 296
14.11.3 容器的直接编辑 296
14.11.1 线程支持 296
14.11 本书未覆盖的内容 296
14.11.4 多媒体支持 297
14.11.5 DDE支持 297
14.11.6 SOM支持 297
14.11.7 OLE支持 297
14.11.8 拖放支持 297
14.11.9 自定义控制 298
14.11.10 小组编程 298
14.12 本章小结 298
14.13 本书总结 298