第一部分 Visual C++教程
第1章 C++基础 2
1.1 C++概述 2
1.1.1 C++程序创建 2
1.1.2 C++程序结构 4
1.1.3 C++程序组成 6
1.2 类和对象 7
1.2.1 面向对象程序设计 7
1.2.2 类的声明 8
1.2.3 对象的定义和初始化 10
1.2.4 对象成员的访问 11
1.2.5 构造函数和析构函数 12
1.2.6 new和delete 14
1.2.7 对象赋值和拷贝构造函数 16
1.2.8 this指针 19
1.3 继承和派生 20
1.3.1 继承的特性 20
1.3.2 派生类的定义 20
1.3.3 继承方式 21
1.3.4 派生类数据成员初始化 24
1.3.5 基类成员的访问 27
1.4 多态和虚函数 27
1.4.1 多态概述 27
1.4.2 虚函数定义 29
1.4.3 虚函数的内部机制 30
习题 31
第一部分 Visual C++教程
第1章 C++基础 2
1.1 C++概述 2
1.1.1 C++程序创建 2
1.1.2 C++程序结构 4
1.1.3 C++程序组成 6
1.2 类和对象 7
1.2.1 面向对象程序设计 7
1.2.2 类的声明 8
1.2.3 对象的定义和初始化 10
1.2.4 对象成员的访问 11
1.2.5 构造函数和析构函数 12
1.2.6 new和delete 14
1.2.7 对象赋值和拷贝构造函数 16
1.2.8 this指针 19
1.3 继承和派生 20
1.3.1 继承的特性 20
1.3.2 派生类的定义 20
1.3.3 继承方式 21
1.3.4 派生类数据成员初始化 24
1.3.5 基类成员的访问 27
1.4 多态和虚函数 27
1.4.1 多态概述 27
1.4.2 虚函数定义 29
1.4.3 虚函数的内部机制 30
习题 31
第2章 MFC编程和操作 33
2.1 Windows编程 33
2.1.1 C++的Windows编程 33
2.1.2 Windows编程特点 36
2.1.3 Windows基本数据类型 37
2.2 MFC编程 38
2.2.1 MFC概述 38
2.2.2 一个MFC程序 39
2.2.3 理解程序代码 40
2.2.4 MFC应用程序框架类型 40
2.3 MFC程序应用 41
2.3.1 文档应用程序创建 42
2.3.2 项目文件和项目配置 44
2.3.3 项目管理 45
2.3.4 资源和资源标识 46
2.3.5 框架窗口、文档和视图 47
2.3.6 对话框和控件 48
2.4 消息和消息映射 50
2.4.1 使用类向导 50
2.4.2 消息分类 51
2.4.3 消息映射 52
2.4.4 消息映射代码框架 53
2.5 Visual C++常用操作 54
2.5.1 类的添加和删除 54
2.5.2 成员的添加和删除 55
2.5.3 文件打开和成员定位 56
2.5.4 使用向导工具栏 56
习题 57
第3章 对话框和常用控件 58
3.1 对话框的使用 58
3.1.1 添加对话框资源 58
3.1.2 设置对话框属性 60
3.1.3 添加和布局控件 61
3.1.4 创建对话框类 63
3.1.5 添加对话框代码 63
3.1.6 在程序中调用对话框 64
3.1.7 模式对话框和无模式对话框 64
3.2 控件的创建和使用方法 65
3.2.1 控件的创建方法 65
3.2.2 控件的消息及消息映射 67
3.2.3 控件的数据交换和数据校验 69
3.3 常用控件 72
3.3.1 静态控件和按钮 73
3.3.2 编辑框和旋转按钮控件 77
3.3.3 列表框 83
3.3.4 组合框 88
3.3.5 进展条和日期时间控件 92
3.3.6 滚动条和滑动条 95
3.4 通用对话框和消息对话框 99
3.4.1 通用对话框 100
3.4.2 消息对话框 101
3.5 综合应用 102
习题 104
第4章 菜单、工具栏和状态栏 105
4.1 菜单 105
4.1.1 用编辑器设计菜单 105
4.1.2 使用键盘快捷键 108
4.1.3 更改应用程序菜单 109
4.1.4 菜单的编程控制 110
4.1.5 使用快捷菜单 113
4.2 工具栏 114
4.2.1 使用工具栏编辑器 114
4.2.2 工具按钮和菜单项相结合 116
4.2.3 多个工具栏的使用 117
4.3 状态栏 119
4.3.1 状态栏的定义 119
4.3.2 状态栏的常用操作 119
4.3.3 改变状态栏的风格 121
4.4 交互对象的动态更新 121
4.5 综合应用 122
习题 126
第5章 图标、光标和窗口框架 127
5.1 图像编辑器 127
5.2 图标 128
5.2.1 图标的调入、清除和显示 128
5.2.2 应用程序图标的改变 131
5.2.3 获取系统文件图标 132
5.2.4 托盘图标操作 133
5.3 光标 136
5.4 窗口样式和状态 138
5.4.1 窗口样式 138
5.4.2 窗口样式设置 139
5.4.3 窗口状态改变 140
5.5 综合应用 142
习题 145
第6章 数据和文档 146
6.1 CString类 146
6.1.1 BSTR、const char*、LPCTSTR和CString 146
6.1.2 字符串的字符访问 147
6.1.3 清空及字符串长度 148
6.1.4 提取和大小写转换 148
6.2 使用简单数组集合类 149
6.3 使用CFile类 150
6.3.1 文件的打开和关闭 150
6.3.2 文件的读写和定位 151
6.3.3 获取文件的有关信息 152
6.3.4 CFile示例 152
6.4 文档序列化 153
6.4.1 文档模板和字串资源 154
6.4.2 文档序列化过程 155
6.4.3 CArchive类和序列化操作 157
6.4.4 CArchive类和CFile类关联 159
6.5 综合应用 159
习题 163
第7章 图形、文本和位图 164
7.1 概述 164
7.1.1 设备环境类 164
7.1.2 坐标映射 164
7.1.3 CPoint、CSize和CRect 166
7.1.4 颜色和颜色对话框 168
7.2 图形设备接口 169
7.2.1 使用GDI对象 169
7.2.2 画笔 170
7.2.3 画刷 171
7.2.4 位图 172
7.3 图形绘制 173
7.3.1 画点、线 174
7.3.2 矩形和多边形 175
7.3.3 曲线 176
7.3.4 图形绘制示例 177
7.4 字体与文字处理 178
7.4.1 字体和字体对话框 178
7.4.2 常用文本输出函数 180
7.4.3 文本格式化属性 182
7.4.4 计算字符的几何尺寸 183
7.4.5 文档内容显示及其字体改变 183
7.5 在对话框及控件中绘图 185
7.6 综合应用 186
习题 192
第8章 视图应用框架 193
8.1 文档与视图的相互作用 193
8.2 一般视图框架 194
8.2.1 CEditView和CRichEditView 195
8.2.2 CFormView 196
8.2.3 CHtmlView 198
8.2.4 CScrollView 199
8.3 列表视图框架 199
8.3.1 列表视图类型和样式 199
8.3.2 列表项的基本操作 200
8.3.3 列表控件的消息 203
8.3.4 列表视图应用示例 203
8.4 树视图框架 206
8.4.1 树视图的样式和操作 206
8.4.2 树视图控件的消息 208
8.4.3 树视图应用示例 209
8.5 切分视图框架 211
8.5.1 切分类型 211
8.5.2 静态切分实现 212
8.5.3 动态切分窗口实现 213
8.6 综合应用 214
习题 217
第9章 数据库应用 218
9.1 数据库和ODBC操作 218
9.1.1 数据库基本概念 218
9.1.2 MFC ODBC向导过程 219
9.1.3 ODBC数据表绑定更新 223
9.2 MFC ODBC应用编程 224
9.2.1 查询记录 225
9.2.2 编辑记录 226
9.2.3 字段操作 229
9.2.4 多表处理 233
9.3 ADO数据库编程 237
9.3.1 ADO编程的一般过程 237
9.3.2 Recordset对象使用 240
9.3.3 Command对象使用 242
9.4 数据库相关的ActiveX控件 243
9.4.1 使用MSFlexGrid控件 244
9.4.2 RemoteData和DBGrid控件 245
9.5 综合应用 247
习题 252
第二部分 实验
实验1 认识Visual C++ 6.0中文版开发环境 254
实验2 类和对象 263
实验3 继承和派生 266
实验4 多态和调试 270
实验5 MFC编程和操作 275
实验6 对话框和按钮控件 277
实验7 编辑框、列表框和组合框 279
实验8 进展条、滚动条和滑动条 283
实验9 菜单、工具栏和状态栏 284
实验10 图标、光标和窗口框架 284
实验11 数据和文档 285
实验12 图形、文本和位图 286
实验13 视图应用框架 286
实验14 ODBC数据库编程 287
实验15 ADO数据库编程 289
第三部分 实习
实习 大综合应用 292
实习题目 292
所需知识 292
实习目的 292
实习建议 292
实习要求 292
界面设计 293
方案选择 293
实现方法 294