第1章 Visual C++ 6.0概述 1
1.1 Visual C++的特点 2
1.2 Visual Studio企业版的安装 2
1.3 Visual C++ 6.0的工作原理 4
1.4 主窗口 5
1.4.1 项目工作区 5
1.4.2 代码编辑窗口 6
1.4.3 资源和资源编辑器 6
1.5 应用程序向导——AppWizard 9
1.6 类向导——ClassWizard 12
1.6.1 创建类 12
1.6.2 定义消息处理函数 13
1.7 调试和输出 14
1.7.1 Build菜单 14
1.7.2 设置断点 16
1.8 小结 17
1.9 课后练习 18
第2章 C++语言基础 19
2.1 C++简介 20
2.2 变量和常量 20
2.2.1 数据类型 20
2.2.2 变量命名规则 23
2.2.3 变量声明和赋值 24
2.2.4 变量作用域 24
2.2.5 常量 25
2.2.6 指针 25
2.3 运算符与表达式 26
2.3.1 算术运算符 27
2.3.2 关系运算符 27
2.3.3 逻辑运算符 27
2.3.4 赋值运算符 27
2.3.5 位运算符 28
2.3.6 new和delete 28
2.3.7 运算符的优先级 29
2.4 程序基本结构 29
2.4.1 选择结构 30
2.4.2 循环结构 31
2.5 函数 31
2.5.1 声明和定义函数 32
2.5.2 参数的传递 32
2.5.3 递归函数 33
2.6 类和对象 34
2.6.1 类的定义 35
2.6.2 构造函数与析构函数 36
2.6.3 对象 37
2.6.4 对象成员初始化 38
2.6.5 类友元函数 38
2.6.6 this指针 39
2.6.7 静态成员 39
2.7 类的继承 40
2.7.1 继承的基本概念 40
2.7.2 单继承 41
2.7.3 多重继承 42
2.8 多态性与重载 42
2.8.1 多态性 43
2.8.2 函数重载 43
2.8.3 运算符重载 45
2.8.4 虚函数 46
2.9 上机实训——获取水仙花数 47
2.10 小结 50
2.11 课后练习 51
第3章 Windows编程基础 53
3.1 Windows编程基础知识 54
3.1.1 面向对象编程 54
3.1.2 MFC简介 54
3.1.3 事件驱动与消息 55
3.1.4 窗口与句柄 56
3.2 Windows应用程序基本结构 56
3.3 消息 57
3.3.1 消息处理机制 57
3.3.2 消息种类 58
3.3.3 消息映射 58
3.3.4 常见消息 59
3.4 小结 61
3.5 课后练习 61
第4章 对话框 62
4.1 对话框基础知识 63
4.1.1 对话框概述 63
4.1.2 自动生成的代码 63
4.1.3 对话框的消息处理 65
4.2 实例4-1:对话框示例应用程序 66
4.2.1 设置对话框属性 66
4.2.2 添加控件 67
4.2.3 为控件添加控制变量 67
4.2.4 为控件添加响应函数 69
4.3 模式对话框 71
4.3.1 创建对话框资源 72
4.3.2 创建对话框资源的类 72
4.3.3 添加编辑框 73
4.3.4 重载虚函数OnInitDialog() 74
4.4 实例4-2:显示模式对话框 74
4.4.1 包含头文件 74
4.4.2 添加显示代码 74
4.5 非模式对话框 75
4.6 实例4-3:显示非模式对话框 76
4.7 菜单 77
4.8 实例4-4:含有菜单的对话框 78
4.9 实例4-5:含有右键菜单的对话框 81
4.10 实例4-6:含有工具栏和状态栏的对话框 83
4.11 上机实训——在状态栏上显示时间 86
4.12 小结 88
4.13 课后练习 88
第5章 控件 89
5.1 标准控件 90
5.1.1 静态控件 90
5.1.2 编辑框 92
5.1.3 列表框 94
5.1.4 组合框 97
5.1.5 树状列表 99
5.2 实例5-1:静态控件的用法 101
5.3 实例5-2:学生信息显示系统 103
5.3.1 主界面 103
5.3.2 初始化主界面 104
5.3.3 列表框控件的设置 106
5.3.4 类CInfoDlg的实现 107
5.4 实例5-3:将阿拉伯数字转换为中文大写形式 109
5.5 实例5-4:获取指定日期节日 111
5.5.1 创建工程和界面 112
5.5.2 实现DTN_DATETIMECHANGE响应函数 112
5.5.3 获取指定日期的节日信息 113
5.6 上机实训——具有打字效果的状态栏 114
5.7 小结 115
5.8 课后练习 116
第6章 文档/视图结构 117
6.1 创建单文档工程 118
6.1.1 创建单文档应用程序 118
6.1.2 添加代码 122
6.2 文档/视图与窗口框架间的关系 122
6.3 创建具有切分窗口的应用程序 124
6.4 切换窗口 126
6.5 具有打印功能的文档/视图应用程序 128
6.6 上机实训——改变多文档应用程序背景 132
6.6.1 创建工程 132
6.6.2 添加代码 134
6.7 小结 136
6.8 课后练习 136
第7章 图形和文本输出 137
7.1 设备上下文和映射模式 138
7.1.1 设备上下文 138
7.1.2 映射模式 138
7.2 位图 139
7.3 图形输出 141
7.3.1 CPen类 141
7.3.2 CBrush类 142
7.3.3 绘制常用图形 143
7.4 文本输出 145
7.5 保存图片 147
7.6 上机实训——文本的环绕输出 149
7.6.1 创建工程 150
7.6.2 添加代码 151
7.7 小结 153
7.8 课后练习 153
第8章 数据库编程 155
8.1 数据库概述 156
8.1.1 数据库基本概念 156
8.1.2 SQL简介 156
8.1.3 Visual C++开发数据库技术 157
8.2 使用MFC ODBC操作数据库 158
8.2.1 设置MFC ODBC数据源 159
8.2.2 使用MFC ODBC操作数据的步骤 160
8.3 实例8-1:使用MFC ODBC操作数据库 160
8.4 使用ADO操作数据库 164
8.4.1 ADO简介 164
8.4.2 使用ADO操作数据库的步骤 166
8.5 实例8-2:使用ADO操作数据库记录 167
8.6 实例8-3:获取数据库中的表 171
8.7 实例8-4:获取数据库表字段名称 173
8.7.1 使用ODBC操作数据的步骤 174
8.7.2 实现过程 174
8.8 实例8-5:建立操作数据库类 177
8.9 上机实训——操作MySQL数据库 186
8.9.1 安装MySQL 186
8.9.2 添加MySQL数据库、表和记录 188
8.9.3 使用Visual C++操作MySQL数据库 188
8.10 小结 191
8.11 课后练习 192
第9章 网络编程 193
9.1 Winsock编程 194
9.1.1 Winsock简介 194
9.1.2 Winsock编程步骤 194
9.2 实例9-1:网络聊天室之客户端 196
9.2.1 实现步骤 196
9.2.2 实现过程 196
9.3 实例9-2:网络聊天室之服务器端 201
9.4 WinInet编程 205
9.4.1 WinInet类介绍 205
9.4.2 WinInet编程步骤 206
9.5 实例9-3:下载网页 206
9.5.1 界面实现 207
9.5.2 代码实现 207
9.6 实例9-4:FTP应用程序 210
9.6.1 界面实现 211
9.6.2 登录FTP的代码实现 212
9.7 实例9-5:枚举局域网内计算机 214
9.8 上机实训——使用CHtmlView打开网页 217
9.8.1 创建工程 217
9.8.2 添加代码 219
9.9 小结 220
9.10 课后练习 220
第10章 项目实训 221
10.1 屏幕抓图与传送 222
10.1.1 预习要求 222
10.1.2 设计思路 222
10.1.3 客户端制作过程 223
10.1.4 服务器端制作过程 231
10.1.5 上机练习 234
10.2 模拟资源管理器程序 234
10.2.1 项目简介 234
10.2.2 预习要求 235
10.2.3 设计思路 235
10.2.4 设计步骤 235
10.2.5 上机练习 245
10.3 画图程序 245
10.3.1 添加浮动工具栏 246
10.3.2 为CDrawView类添加成员变量 250
10.3.3 为工具条添加响应函数 251
10.3.4 创建输入对话框 252
10.3.5 添加实现橡皮筋功能的代码 253
第11章 课程设计 257
11.1 支持表达式求值的计算器 258
11.1.1 设计要求 258
11.1.2 求表达式值的原理 258
11.1.3 解析表达式 259
11.1.4 运算符优先级 260
11.1.5 求表达式值 260
11.2 图书管理系统 262
11.2.1 设计要求 262
11.2.2 设计要求分析 262
11.2.3 课程设计数据库表 263
11.2.4 系统核心代码 264
11.3 俄罗斯方块游戏 270
11.3.1 设计要求 270
11.3.2 需要解决的问题 271
11.3.3 方块的数据表示 271
11.3.4 方向键的控制 272
11.3.5 方块的显示 273
11.3.6 方块移动的判断 274