导言 1
Microsoft 支持网络 5
第一部分 使用 Visual C++ 开发应用程序 11
第一章 使用Visual C++ 开发应用程序 11
11 开发过程 11
第二部分 Scribble 教程 19
第二章 Scibble 教程 19
2.1 安装样本文件 19
2.2 Scribble 的建立信息 23
第三章 使用 AppWizard 生成起新的应用程序 24
3.1 使用 AppWizard 为 Scribble生成起始应用程序 25
3.2 建立起始应用程序 29
3.3 运行起始应用程序 30
4.1 文档 32
第四章 生成文档 32
4.2 Scribble 的文档: CScribbleDoc 类 36
4.3 文档的数据: CStroke 类 41
4.4 管理文档 44
4.5 串行化数据 46
4.6 生成文档:总结 49
第五章 生成视 50
5.1 视 51
5.2 Scribble 的视:CScribbleView 类 52
5.3 定义视使用的工作数据 53
5.4 视的重画 54
5.5 在视中处理 Windows 消息 56
5.6 建立 Scribble 第一步 (Step1)版本 60
6.1 编辑 Scribble 的菜单 63
第六章 构造用户界面 63
6.2 编辑 Scribble 的工具栏 68
6.3 总结:构造用户界面 72
第七章 使用 WizardBar 将可视对象与代码连接 73
7.1 ClassWizard 和 Wizard Bar 的功能 74
7.2 连接 Scribble 的命令 74
7.3 更新用户界面对象 79
7.4 建立Scribble 的第二步(Step2)版本 82
第八章 增加对话框 84
8.1 设计对话框 84
8.2 连接类与对话框 87
8.3 实现消息处理程序 95
8.4 打开对话框 95
8.5 建立 Scribble 第三步(Step3)版本 97
9.1 更新多视 99
第九章 改进视 99
9.2 增加滚动 105
9.3 为Scribble 增加滚动 106
9.4 增加分割窗口 110
9.5 为 Scribble 增加分割窗口 112
9.6 建立Scribble 的第四步 Step4 版本 114
第十章 改进打印 115
10.1 改进 Scribble 的打印 115
10.2 改进 Scribble 的打印预览 121
10.3 编译 Scribble 的第五步(Step5)版本 122
第十一章 增加上下文相关的帮助 124
11.1 上下文相关的帮助包含哪些内容 125
11.2 利用 AppWizard 实现上下文相关的帮助 126
11.3 AppWizard 提供的帮助支持 127
11.4 查看运行时上下文相关帮助 128
11.5 编译用户的帮助文件 129
11.6 将用户帮助项目文件升级到 Windows 95 130
11.7 为Scribble 补加帮助 131
11.8 完成 Scribble 帮助的实现 137
第十二章 生成 OLE 服务器 140
12.1 预览作为 OLE 服务器运行的 Scribble 140
12.2 补加 OLE 服务器支持泊步骤 141
12.3 编辑 OLE 相关的资源 151
12.4 增加应用程序特定的服器支持 156
12.5 使用容器应用程序来测试 Scribble 服务器的功能 161
第十三章 生成OLE 容器 165
13.1 Container 应用程序的预览 165
第三部分 OLE 教程 165
13.2 教程示例:Container 167
第十四章 实现OLE 容器的基本功能 168
14.1 生成骨架 OLE 容器 168
14.2 实现 OLE 客户项目矩形 176
14.3 实现命中测试和选择 177
14.4 利用鼠标单击实现激活 178
14.5 实现调整对象大小和移动对象的跟踪矩形 180
14.6 绘制嵌入的对象 181
14.7 删除嵌入的对象 182
14.8 建立并运行 Container 的第一步 182
第十五章 改进 OLE 容器功能 184
15.1 为Copy 和 Paste 增加命令处理程序 184
15.2 使用智能无效确认 186
15.3 与服务器协调来决定对象的尺寸 189
15.4 建立及运行 192
第十六章 生成 OLE 自动服务器 193
16.1 教程示例: AutoClik 193
16.2 AutoClik 应用程序的预览 194
16.3 AutoClik 第一、二、三步的纵览 196
第十七章 在应用程序中实现 OLE 自动化 197
17.1 生成骨架 OLE 自动服务器 197
17.2 分析调度接口名称 199
17.3 分析 AppWizard 所提供的代码 200
17.4 实现 AutoClik 的基本行为 203
17.5 建立并运行 AutoClik 的第一步 206
第十八章 实现自动属性和方法 207
18.1 实现调度接口的属性 207
18.2 实现调度接口的方法 210
18.3 建立及测试 AutoClik 第二步 214
第十九章 实现多调度接口 216
19.1 生成带调度接口的新 CCmdTarget 类 216
19.2 从中一个调度接口中引用本调度接口 217
19.3 可生成的 OLE 调度接口对象 220
19.4 建立及运行 220
第二十章 建立OLE控件 221
20.1 教程示例:Circle 221
20.2 生成 Circle 控件 222
20.3 生成基本控件 223
21.1 使背景颜色属性有效 223
20.4 修改 About Circ Control 对话框 225
20.5 建立控件 226
20.6 登录控件 226
20.7 测试 Circle 控件 226
第二十一章 控件的着色 228
21.2 修改绘图动作 229
21.3 利用所实现的着色重新建立控件 231
21.4 测试控件的绘图动作 231
第二十二章 增加定制的通知属性 232
22.1 CircleShape 属性 232
22.2 增加 CirceleShape属性 234
22.3 实现新绘图动作 236
22.4 利用实现的 CircleShape 属建控件 238
22.5 测试控件 CircleOffset 属性 248
第二十四章 增加特殊效果 250
24.1 增加 FlashColor 属性 250
24.2 响应鼠标事件 252
24.3 命中测试 254
24.4 增加 Flash Color 函数 255
24.5 重建已实现 FlashColor 的控件 256
24.6 测试 FlashColor 属性 257
第二十五章 为Circle 控件增加定制事件 258
25.1 增加 Clickin 事件 258
25.2 激发 Clickin 事件 259
25.3 增加 ClickOut 事件 260
25.4 激发 ClickOut 事件 261
25.5 重建控件 262
25.6 测试 Clickin 和 ClickOut 事件 262
第二十六章 文本和字体的处理 263
26.1 增加库存 Cption 属性 263
26.2 增加库存 Font 属性 264
26.3 增加库存 ForeColor 属性 265
26.4 实现标题绘制动作 266
26.5 增加 Color 和 Font 属性页 268
26.6 重建实现字体和颜色支持的控件 269
26.7 测试 Caption 属性 269
第二十七章 修改缺省的属性页 270
27.1 为缺省属性页增加控件 270
27.2 将控件与属性链接 271
27.3 重建带有属性页的控件 274
27.4 测试缺省的属性页 274
第二十八章 简单数据连接 275
28.1 定义 Note 属性 275
28.2 实现 Note 属性的可连接性 280
28.3 将变化通知给容器 280
28.5 测试控件数据连接的改变 281
28.4 重建支持数据连接的控件 281
第二十九章 版本与串行化 283
29.1 串行化控件版式本信息 283
29.2 串行化持久数据的不同片本 284
29.3 忽视持久数据的不同版本 284
29.4 重建实现版本支持的控件 286
29.5 测试控件 286
第四部分 数据库教程 291
第三十章 生成数据库应用程序 291
30.1 教程示例:Enroll 291
30.2 建立学生记录数据源 293
30.3 教程的步骤 296
第三十一章 简单的表 297
31.1 Step 1 简介 297
31.2 生成新的数据库应用程序 298
31.3 检查Step1 类 300
31.4 为节表格定制对话模板 302
31.5 EnroII 控件与记录集合字段的连接 304
31.6 建立并运行 EnroII Step1 305
第三十二章 使用第二个记录集合 306
32.1 Step2 简介 306
32.2 将Course 控件改为组合框 307
32.3 将组合框控件与记录集合字段以及 CComboBox 变量相连接 308
32.4 为Course 表生成记录集合 309
32.5 在文档对象中嵌入记录集合对象 310
32.6 以课程列表来填写组合框 310
32.7 记录集合的过滤与参数化 311
32.8 重新使用另一个记录集合打开的数据库对象 314
32.10 重新查询 CSectionSet 记录集合 315
32.9 记录集合的排序 315
32.11 建立并运行 EnroII Step2 316
第三十三章 增加与删除记录 317
33.1 Step3 简介 317
33.2 生成 Step3 的用户界面 318
33.3 增加、编辑以及删除记录的基本方法 320
33.4 实现Add命令 321
33.5 使Add模式下的组合框逻辑无效 324
33.6 实现 Delete 命令 324
33.7 实现 Refresh 命令 325
33.8 建立并运行 EnroII Step3 326
第三十四章 数据访问对象(DAO)教程 327
34.1 教程示例:DaoEnro1 328
34.2 建立 DaoEnroI 的学生记录数据源 329
34.3 DAO 教程的各个步骤 330
34.4 DAO 简介 331
34.5 DaoEnrol 的 Step1 333
34.6 生成新的DAO 数据库应用程序 333
34.7 查看 DaoEnrol Step 1 类 335
34.8 为DaoEnrol 节表格定制对话模板 339
34.9 连接 DaoEnrol 的控件与记录集合字段 340
34.10 建立并运行 DaoEnrol Step 1 341
34.11 完成 DaoEnrol 教程 342
34.12 DaoEnrol Step2 342
34.13 DaoEnrol Step3 349
34.14 DaoEnrol Step4:DAOENROL 样例 353
35.1 标识要求的总结 357
第三十五章 增加 Windows 95 功能 357
第五部分 Windows 95 适配性 357
35.2 遵从 UI 建议 359
35.3 增加 OLE 支持 364
35.4 增加 MAPI 支持 372
35.5 要获得 Windows 95 标识的更多信息 372
第六部分 附录 377
附录A 残疾人士使用的方便性 377
A.1 Microsoft 为耳聋或有听力障碍人士提供的服务 377
A.2 Microsoft Windows 和Microsoft Windows NT 的 ACCESS Pack 377
A.3 单手用户的键盘布局 378
A.4 Microsoft 各种格式的文档 379
A.5 改善使用方便性的第三方实用工具 379
A.6 定制Windows 或 Windows NT 379
A.7 获取更多的为残疾人士提供的信息 380