第1章 C++程序设计基础 1
1.1 引言 1
1.2 数据类型 1
1.2.1 基本类型的取值范围 2
1.2.2 C++的扩展 3
1.3 常量和变量 4
1.3.1 常量 4
1.3.2 变量 6
1.4 基本控制结构 9
1.4.1 顺序结构 9
1.4.2 选择结构 9
1.4.3 循环结构 11
1.4.4 流程的转移控制 13
1.5 数组和指针 13
1.5.1 数组 13
1.5.2 指针 15
1.5.3 指针与数组的关系 17
1.6 函数 17
1.6.1 C++程序的基本结构 17
1.6.2 函数的定义和调用 18
1.6.3 有关函数定义的几点说明 19
1.6.4 函数重载 20
1.6.5 引用 21
1.7 实训 22
1.7.1 实训1 22
1.7.2 实训2 23
1.8 习题 24
第2章 C++面向对象程序设计 26
2.1 类和对象 26
2.1.1 类的定义 26
2.1.2 对象的定义 29
2.1.3 静态成员 30
2.2 构造函数 33
2.2.1 构造函数 33
2.2.2 构造函数和运算符new 36
2.2.3 备份初始化构造函数 36
2.3 析构函数 37
2.3.1 析构函数 37
2.3.2 析构函数和对象数组 39
2.3.3 析构函数和运算符delete 39
2.4 继承和派生类 40
2.4.1 继承与派生的基本概念 40
2.4.2 派生类的定义 42
2.4.3 派生类的构造函数与基类成员的初始化 45
2.4.4 虚基类 48
2.5 多态性和虚函数 51
2.5.1 多态性在C++中的体现 51
2.5.2 运算符重载 53
2.5.3 虚函数 54
2.5.4 纯虚函数和抽象类 57
2.6 实训 59
2.6.1 实训1 59
2.6.2 实训2 59
2.6.3 实训3 60
2.7 习题 61
第3章 Visual C++开发环境 63
3.1 Visual C++概述 63
3.1.1 Visual C++的特点 63
3.1.2 Visual C++的安装 64
3.1.3 集成开发环境窗口 65
3.1.4 MSDN帮助系统 67
3.2 Visual C++ 6.0菜单栏 68
3.2.1 “文件”菜单 69
3.2.2 “编辑”菜单 73
3.2.3 “查看”菜单 76
3.2.4 “插入”菜单 78
3.2.5 “工程”菜单 79
3.2.6 “组建”菜单 81
3.2.7 “调试”菜单 83
3.2.8 “工具”菜单 85
3.2.9 “窗口”菜单 87
3.2.10 “帮助”菜单 88
3.3 Visual C++ 6.0工具栏 89
3.3.1 “标准”工具栏 89
3.3.2 “编译微型条”工具栏 90
3.3.3 “向导条”工具栏 90
3.4 项目和项目工作区 91
3.4.1 项目 92
3.4.2 项目工作区 92
3.4.3 项目设置 93
3.5 实训 93
3.5.1 实训1 94
3.5.2 实训2 98
3.6 习题 105
第4章 MFC创建Windows应用程序 107
4.1 Windows应用程序概述 107
4.1.1 Windows编程模型 107
4.1.2 窗口 108
4.1.3 消息和事件 108
4.1.4 Windows应用程序的基本结构 108
4.1.5 Windows应用程序实例 109
4.2 MFC概述 112
4.2.1 MFC简介 112
4.2.2 MFC编程的优点 112
4.2.3 MFC体系结构 113
4.2.4 MFC Windows程序的基本结构 113
4.3 MFC与应用程序框架 116
4.3.1 应用程序向导App Wizard 116
4.3.2 MFC常用类 121
4.4 基于MFC的Windows应用程序 123
4.4.1 基于框架构造应用程序 123
4.4.2 AppWizard生成的类和源文件 123
4.4.3 ClassWizard 124
4.5 实训 126
4.6 习题 128
第5章 对话框 129
5.1 对话框类 129
5.1.1 CDialog类中有关对话框处理的常用函数 130
5.1.2 CWnd类中有关窗口处理和对话框处理的常用函数 130
5.2 对话框的创建 130
5.2.1 对话框的创建流程 132
5.2.2 创建对话框资源 132
5.2.3 创建对话框类 136
5.3 模态对话框与非模态对话框 143
5.3.1 模态对话框 143
5.3.2 非模态对话框 144
5.4 属性页对话框 147
5.4.1 主要相关类介绍 147
5.4.2 一般属性页对话框的创建步骤 151
5.5 消息对话框 151
5.6 实训 152
5.6.1 实训1 152
5.6.2 实训2 154
5.7 习题 155
第6章 常用控件 156
6.1 控件通用属性 157
6.2 静态文本控件 158
6.3 文本编辑控件 159
6.3.1 属性设置 159
6.3.2 发送的消息 159
6.3.3 成员函数 160
6.4 按钮控件 162
6.4.1 命令按钮 162
6.4.2 单选按钮 163
6.4.3 复选框 163
6.4.4 成员函数 163
6.4.5 分组框 165
6.5 列表框控件 165
6.5.1 属性设置 165
6.5.2 发送的消息 166
6.5.3 成员函数 166
6.6 组合框控件 168
6.6.1 属性设置 168
6.6.2 常用的通知消息 169
6.6.3 成员函数 169
6.7 滚动条控件 170
6.8 实训 171
6.8.1 实训1 171
6.8.2 实训2 174
6.8.3 实训3 177
6.8.4 实训4 178
6.9 习题 181
第7章 菜单、工具栏和状态栏 182
7.1 菜单 182
7.1.1 菜单基础 182
7.1.2 创建菜单 183
7.1.3 添加菜单命令处理函数 185
7.1.4 菜单的有效控制 186
7.1.5 快捷菜单 187
7.1.6 创建动态菜单 189
7.1.7 基于对话框的菜单 193
7.2 工具栏 194
7.2.1 工具栏编辑器 194
7.2.2 创建工具栏 196
7.2.3 工具栏隐显控制 198
7.2.4 在工具栏中添加非按钮控件 199
7.3 状态栏 199
7.3.1 状态栏的定义 199
7.3.2 状态栏的操作 199
7.3.3 状态栏实例 201
7.4 实训 203
7.5 习题 209
第8章 框架、文档/视图结构 210
8.1 框架窗口 210
8.1.1 主框架窗口和文档窗口 210
8.1.2 文档类和视图类 210
8.2 理解文档、视图和框架 213
8.2.1 基本概念 213
8.2.2 文档及视图结构 213
8.2.3 单文档应用程序的执行过程 213
8.2.4 文档、视图和框架窗口之间的相互作用 214
8.3 文档/视图结构和文档界面 215
8.3.1 文档/视图体系结构的基础 215
8.3.2 文档对象和视图对象 217
8.3.3 窗口类 222
8.4 文档的序列化 223
8.4.1 序列化 223
8.4.2 编写Serialize函数 223
8.4.3 编写可序列化类 224
8.5 实训 227
8.5.1 实训1 227
8.5.2 实训2 232
8.6 习题 236
第9章 图形和文本输出 238
9.1 图形设备接口和设备环境 238
9.1.1 图形设备接口 238
9.1.2 设备环境 239
9.1.3 设备环境类 239
9.1.4 设备环境的属性 241
9.1.5 绘图模式 243
9.1.6 映射模式与坐标转换 245
9.1.7 颜色设置 250
9.2 画笔和画刷 251
9.2.1 画笔 251
9.2.2 画刷 254
9.3 绘图 257
9.3.1 绘制点、直线和曲线 257
9.3.2 画封闭图形 258
9.4 文本和字体 259
9.4.1 文本输出 259
9.4.2 设置文本的设备环境属性 260
9.4.3 字体 261
9.5 实训 263
9.5.1 实训1 263
9.5.2 实训2 264
9.6 习题 266
第10章 数据库编程 267
10.1 数据库技术概述 267
10.1.1 Visual C++ 6.0数据库开发技术介绍 267
10.1.2 数据库操纵语言SQL 270
10.2 MFC ODBC编程 272
10.2.1 了解MFC ODBC 272
10.2.2 MFC ODBC数据库访问技术 273
10.2.3 建立程序框架 276
10.2.4 应用程序实现 277
10.3 ADO数据库编程 283
10.3.1 ADO原理 284
10.3.2 使用ADO介绍 288
10.4 实训 294
10.5 习题 299
第11章 多媒体程序设计 300
11.1 多媒体控制接口 300
11.1.1 MCI基本操作 300
11.1.2 MCI的设备类型 302
11.1.3 MCIWnd窗口类 304
11.2 OpenGL概述 306
11.2.1 OpenGL的特点及功能 307
11.2.2 OpenGL工作流程 308
11.2.3 Windows中OpenGL库函数及数据类型 309
11.3 动画控件 312
11.3.1 动画控件的使用 312
11.3.2 动画控件的局限 314
11.4 音频 314
11.4.1 高级音频函数 314
11.4.2 MCI音频编程 316
11.5 实训 319
11.6 习题 326
第12章 网络编程 327
12.1 WinSock简介 327
12.2 WinSock编程原理 328
12.2.1 基本原理 328
12.2.2 绑定地址 329
12.2.3 建立连接 330
12.2.4 监听Socket 330
12.2.5 数据传输 330
12.3 WinSock类 331
12.3.1 CAsyncSocket类 331
12.3.2 CSocket类 332
12.4 网络编程的实现 334
12.4.1 程序设计的基本任务 334
12.4.2 服务器端程序设计 334
12.5 实训 354
12.5.1 实训1 354
12.5.3 实训2 356
12.6 习题 359