第1章 Visual C++开发环境 1
1.1 认识Visual C++集成开发环境 1
1.1.1 Visual C++的主窗口 1
1.1.2 工程与项目工作区 2
1.2 集成开发环境的菜单栏 3
1.2.1 File菜单 4
1.2.2 Edit菜单 4
1.2.3 View菜单 5
1.2.4 Insert菜单 5
1.2.5 Project菜单 5
1.2.6 Build菜单 5
1.2.9 Help菜单 6
1.2.8 Window菜单 6
1.2.7 Tools菜单 6
1.3 集成开发环境的工具栏 7
1.3.1 Standard工具栏 8
1.3.2 Build MiniBar工具栏 8
1.3.3 WizardBar工具栏 8
1.4 AppWizard与ClassWizard 9
1.4.1 应用程序向导AppWizard 9
1.4.2 类向导ClassWizard 12
1.5 程序调试 13
1.5.1 查找源程序中的语法错误 14
1.5.2 调试器 14
1.5.3 跟踪调试程序 15
1.6 上机指导 17
1.7 习题 19
第2章 MFC应用程序概述 21
2.1 Windows应用程序概述 21
2.1.1 窗口 21
2.1.2 消息和事件 22
2.2 MFC应用程序框架 23
2.2.1 创建MFC应用程序框架 23
2.2.2 MFC应用程序框架结构类 28
2.2.3 MFC应用程序的分析 30
2.2.4 文档/视图结构 32
2.3 消息映射与消息处理 32
2.3.1 消息的类别及其描述 33
2.3.2 MFC消息映射机制 35
2.3.3 自定义消息处理 37
2.4 上机指导 38
2.5 习题 40
第3章 图形和文本输出 42
3.1 图形设备接口和设备环境 42
3.1.1 图形设备接口 42
3.1.2 设备环境 43
3.1.3 设备环境类 43
3.1.4 颜色的设置 45
3.1.5 获取设备环境 45
3.1.6 编程实例 46
3.2 GDI对象CGdiObject 49
3.3 画笔和画刷的使用 50
3.3.1 使用库存(stock)对象 50
3.3.2 创建和使用自定义画笔 52
3.3.3 创建和使用自定义画刷 55
3.4 处理文本 57
3.4.1 设置文本显示属性 57
3.4.2 设置字体 58
3.4.3 格式化文本 62
3.4.4 常用文本输出函数 65
3.5 位图 67
3.5.1 设备相关图(DDB)和设备无关图(DIB) 67
3.5.2 位图操作函数 67
3.5.3 位图的显示 68
3.6 上机指导 70
3.7 习题 72
4.1.1 对话框的组成 75
4.1.2 对话框的分类 75
第4章 对话框和Windows标准控件 75
4.1 对话框的组成与分类 75
4.2 创建对话框 76
4.2.1 创建对话框模板 76
4.2.2 创建对话框类 77
4.3 模式对话框的编程 77
4.4 Windows通用对话框 81
4.4.1 CFileDialog类 82
4.4.2 CColorDialog类 84
4.4.3 CFontDialog类 84
4.4.4 其他通用对话框类 84
4.5.1 标准Windows控件 85
4.5 Windows标准控件 85
4.5.2 公共控件 89
4.6 上机指导 90
4.7 习题 94
第5章 菜单、工具栏和状态栏 96
5.1 资源与资源编辑器 96
5.1.1 资源和资源符号 96
5.1.2 资源编辑器 97
5.2 菜单的使用 100
5.2.1 菜单的类型 100
5.2.2 编辑菜单 101
5.2.3 建立消息映射 104
5.2.4 菜单的有效控制 105
5.2.5 使用快捷菜单 108
5.2.6 创建动态菜单 111
5.2.7 创建基于对话框的菜单 116
5.3 工具栏的使用 118
5.3.1 编辑工具栏 118
5.3.2 建立消息映射 119
5.3.3 自定义工具栏的操作 120
5.4 状态栏的使用 124
5.4.1 状态栏类的继承关系 124
5.4.2 状态栏类的成员函数 125
5.4.3 状态栏操作 125
5.5 上机指导 127
5.6 习题 134
6.1.1 ActiveX控件的属性 136
6.1 ActiveX控件简介 136
第6章 组件与ActiveX控件 136
6.1.2 ActiveX控件的方法 137
6.1.3 ActiveX控件的事件 137
6.2 ActiveX的使用 137
6.2.1 控件的注册 137
6.2.2 向应用程序添加ActiveX控件 139
6.2.3 用ActiveX控件 140
6.3 创建自定义ActiveX控件 141
6.3.1 创建控件框架 141
6.3.2 测试控件 144
6.3.3 改变ActiveX控件的图标显示 145
6.3.4 定制ActiveX控件的界面 146
6.3.5 定制ActiveX控件的标准属性和标准属性页 148
6.3.6 定制控件的自定义属性及其属性页 152
6.3.7 定制ActiveX控件的事件 155
6.3.8 定制ActiveX控件的方法 157
6.3.9 测试ActiveX控件 159
6.4 上机指导 160
6.5 习题 161
第7章 文档和视图 162
7.1 文档的序列化 162
7.1.1 磁盘文件和序列化 162
7.1.2 Document/View框架的主要成员 164
7.1.3 SDI和MDI的序列化 178
7.1.4 自定义类支持序列化 182
7.2.1 文档和视图的相互访问 187
7.2 切分窗口和多视图 187
7.2.2 切分窗口 189
7.2.3 多视图 195
7.3 上机指导 199
7.4 习题 202
第8章 数据库编程 204
8.1 数据库的访问和ODBC 204
8.1.1 数据库和DBMS 204
8.1.2 开放式数据库接口ODBC 204
8.1.3 MFC ODBC技术 205
8.2 使用ODBC 205
8.2.1 CDatabase类的用法 205
8.2.2 CRecordset类的用法 207
8.2.3 CRecordView类 212
8.2.4 CDBException类 213
8.2.5 了解SQL 213
8.3 使用ODBC创建数据库应用程序 217
8.3.1 准备数据库 217
8.3.2 创建应用程序外壳 219
8.3.3 设计主窗体 221
8.3.4 添加新记录 223
8.3.5 删除记录 225
8.3.6 对记录进行排序 225
8.3.7 查找 226
8.4 ADO数据库开发技术 229
8.4.1 ADO对象模型 229
8.4.3 引入ADO库 230
8.4.2 _bstr_t和_variant_t类 230
8.4.4 连接到数据库 231
8.4.5 查询记录 232
8.4.6 添加记录 234
8.4.7 修改记录 235
8.4.8 删除记录 235
8.5 ADO数据绑定技术 236
8.5.1 IADORecordBinding接口简介 236
8.5.2 绑定单元简介 236
8.5.3 创建数据绑定类 238
8.5.4 查询记录 239
8.5.5 添加记录 240
8.5.6 修改记录 240
8.6.1 用ADO Data控件开发数据库应用程序 241
8.6 开发ADO应用程序的方法 241
8.6.2 使用ADO对象开发数据库应用程序 245
8.7 上机指导 250
8.8 习题 250
第9章 Windows动态链接库 252
9.1 动态链接库基础 252
9.1.1 什么是DLL 252
9.1.2 动态链接和静态链接 252
9.1.3 DLL与进程的地址空间 252
9.1.4 显式链接与隐式链接 252
9.1.5 DLL的搜索路径及extern“C”修饰符 253
9.2 基于C语言的动态链接库 253
9.2.1 建立动态链接库 253
9.2.2 建立测试程序 255
9.3 正规DLL 256
9.4 扩展的MFC DLL 258
9.5 上机指导 260
9.6 习题 261
第10章 多线程与网络编程初步 262
10.1 Windows的多任务 262
10.2 Windows的多进程程序设计 262
10.2.1 创建新进程 263
10.2.2 进程的管理 266
10.2.3 终止进程 267
10.2.4 创建进程实例程序 267
10.3 Windows的多线程程序设计 269
10.3.1 线程概念 269
10.3.2 创建线程 270
10.3.3 挂起线程 272
10.3.4 终止线程 273
10.4 Winsock网络编程接口 273
10.4.1 WinSock概述 273
10.4.2 Winsock编程原理 274
10.4.3 用流套接字进行通信的简单例子 279
10.5 MFC Socket类 282
10.5.1 CAsyncSocket类 282
10.5.2 CSocket类 284
10.5.3 CSocketFile类 285
10.6 上机指导 285
10.7 习题 291
参考文献 292