第一篇 Visual C++编程篇
第1章 Visual C++ 6.0开发环境概述 3
1.1 Visual C++ 6.0概述 3
1.2 熟悉Visual C++ 6.0的集成开发环境 3
1.2.1 进入Visual C++ 6.0环境 3
1.2.2 Visual C++ 6.0的主菜单 5
1.2.3 Visual C++ 6.0的工具栏 10
1.2.4 工作区(Workspace)窗口 12
1.2.5 编辑窗口 15
1.2.6 输出(Output)窗口 16
第2章 C++语言基础 17
2.1 C++概述 17
2.1.1 C++主要特点 17
2.1.2 利用Visual C++编制C++程序 17
2.2 C++程序的组成 18
2.2.1 标识符 18
2.2.2 关键字 18
2.2.3 常量与变量 18
2.2.4 基本运算符 19
2.3 C++数据类型 20
2.3.1 基本数据类型 20
2.3.2 数组 21
2.3.3 指针 22
2.3.4 结构 23
2.3.5 枚举类型 23
2.4 控制结构 24
2.4.1 顺序结构 24
2.4.2 分支结构 24
2.4.3 循环结构 27
2.4.4 转移语句 29
2.5 函数 29
2.5.1 函数的定义与调用 29
2.5.2 默认参数 30
2.5.3 函数重载概述 31
2.6 编译预处理指令 32
2.6.1 #include文件包含指令 32
2.6.2 #define宏定义指令 33
2.6.3 条件编译指令 34
第一篇 Visual C++编程篇
第1章 Visual C++ 6.0开发环境概述 3
1.1 Visual C++ 6.0概述 3
1.2 熟悉Visual C++ 6.0的集成开发环境 3
1.2.1 进入Visual C++ 6.0环境 3
1.2.2 Visual C++ 6.0的主菜单 5
1.2.3 Visual C++ 6.0的工具栏 10
1.2.4 工作区(Workspace)窗口 12
1.2.5 编辑窗口 15
1.2.6 输出(Output)窗口 16
第2章 C++语言基础 17
2.1 C++概述 17
2.1.1 C++主要特点 17
2.1.2 利用Visual C++编制C++程序 17
2.2 C++程序的组成 18
2.2.1 标识符 18
2.2.2 关键字 18
2.2.3 常量与变量 18
2.2.4 基本运算符 19
2.3 C++数据类型 20
2.3.1 基本数据类型 20
2.3.2 数组 21
2.3.3 指针 22
2.3.4 结构 23
2.3.5 枚举类型 23
2.4 控制结构 24
2.4.1 顺序结构 24
2.4.2 分支结构 24
2.4.3 循环结构 27
2.4.4 转移语句 29
2.5 函数 29
2.5.1 函数的定义与调用 29
2.5.2 默认参数 30
2.5.3 函数重载概述 31
2.6 编译预处理指令 32
2.6.1 #include文件包含指令 32
2.6.2 #define宏定义指令 33
2.6.3 条件编译指令 34
第3章 面向对象的程序设计 35
3.1 概述 35
3.1.1 面向对象程序设计方法 36
3.1.2 面向对象程序设计特征 36
3.2 C++面向对象程序设计基础 38
3.2.1 C++类的定义与实现 38
3.2.2 构造函数与析构函数 39
3.2.3 静态成员 40
3.2.4 this指针 41
3.2.5 友元函数 42
3.3 类的继承机制 42
3.3.1 基类与派生类概念 42
3.3.2 单一派生 43
3.3.3 多重继承 44
3.3.4 虚基类 46
3.4 多态性与虚函数 47
3.5 抽象类与纯虚函数 49
3.6 C++模板 51
3.6.1 函数模板 51
3.6.2 类模板 52
第4章 创建应用程序 53
4.1 应用程序向导 53
4.1.1 Visual C++ 6.0中的向导类型 53
4.1.2 Visual C++ 6.0中的应用程序向导 54
4.1.3 MFC应用程序的开发流程 59
4.2 应用程序向导生成文件 60
4.2.1 文件类型 60
4.2.2 典型文件举例 60
4.3 ClassWizard(类向导) 62
4.3.1 ClassWizard的功能 62
4.3.2 ClassWizard的简单应用 62
4.3.3 为项目添加新类 63
4.3.4 手工添加消息处理函数 64
第5章 文档与视图 66
5.1 Document与View概述 66
5.2 Document与View之间的相互作用 67
5.2.1 CView类的GetDocument()成员函数 67
5.2.2 CDocument类的UpdateAllViews()成员函数 67
5.2.3 CView类的OnUpdate()成员函数 68
5.3 菜单设计 68
5.3.1 建立菜单资源 69
5.3.2 添加菜单命令处理函数 69
5.3.3 弹出式菜单 70
5.4 工具栏和状态栏设计 72
5.4.1 建立工具栏资源 72
5.4.2 工具栏的显示 72
5.4.3 定制状态栏 73
5.5 使用不同的视图 73
5.5.1 滚动视图 74
5.5.2 网页视图 75
5.5.3 多文档视图 76
第6章 MFC原理及方法 78
6.1 MFC概述 78
6.2 Windows编程思想 78
6.2.1 Windows API 78
6.2.2 事件驱动程序 78
6.2.3 消息概述 79
6.3 MFC微软类库 80
6.3.1 MFC发展历史 80
6.3.2 MFC应用程序的生与死 81
6.3.3 常用MFC文件及库文件 81
6.4 常用的MFC类 84
6.4.1 CRuntimeClass结构 84
6.4.2 CObject类 84
6.4.3 CCmdTarget类 86
6.4.4 CWinThread类 87
6.4.5 CWinApp类 87
6.4.6 CWnd类 87
6.4.7 CFrameWnd类 88
6.4.8 CDocument和CView类 88
6.5 MFC消息机制 89
6.5.1 系统定义的消息 90
6.5.2 用户定义的消息 90
6.5.3 消息映射 91
6.5.4 消息的发送 91
6.6 MFC宏 92
6.6.1 运行时类型识别宏 93
6.6.2 MFC调试宏 94
第7章 对话框及常用控件 96
7.1 对话框概述 96
7.1.1 基于对话框的应用程序 97
7.1.2 对话框类CDialog 98
7.2 向对话框类中添加菜单 99
7.3 向对话框类中添加工具栏 100
7.4 向对话框中添加状态栏 103
7.5 Windows公共对话框 105
7.5.1 CColorDialog对话框 105
7.5.2 CFileDialog对话框 106
7.5.3 CFontDialog对话框 108
7.6 常用控件 109
7.6.1 控件概述 109
7.6.2 使用控件 110
7.6.3 通用控件类成员 113
7.6.4 静态文本控件(Static Text) 113
7.6.5 按钮控件(Button) 115
7.6.6 编辑控件(Edit Box) 115
7.6.7 列表框控件(List Box) 117
7.6.8 组合框控件(Combo Box) 118
7.6.9 树视图控件(Tree Control) 120
7.6.10 列表视图控件(List Control) 121
7.6.11 标签控件(Tab Control) 123
7.7 ActiveX控件 127
7.8 制作ActiveX控件 128
7.8.1 制作ActiveX控件的方法 128
7.8.2 ActiveX控件创建实例 131
第8章 图形图像及打印技术 135
8.1 图形设备接口概述 135
8.2 设备环境类CDC 136
8.2.1 设备环境简介 136
8.2.2 设备环境类CDC 136
8.2.3 设置场景类CDC的简单应用 138
8.3 画笔类CPen 139
8.4 画刷类CBrush 142
8.5 字体类CFont 144
8.6 位图类CBitmap 148
8.7 打印基础 148
8.8 如何打印表格 155
8.8.1 打印流程 155
8.8.2 怎样打印表格 156
第9章 程序调试与错误处理 163
9.1 概述 163
9.2 断点跟踪 163
9.3 调试窗口 169
9.3.1 Watch窗口 169
9.3.2 Call Stack窗口 170
9.3.3 Memory窗口 171
9.3.4 Variables窗口 172
9.3.5 Registers窗口 172
9.3.6 Disassembly窗口 173
9.4 错误处理 173
9.4.1 捕捉错误 173
9.4.2 C++中的错误处理 173
9.4.3 编制错误处理程序 174
第二篇 数据库应用篇
第10章 管理SQL Server 2000 177
10.1 安装SQL Server 177
10.2 配置服务器 180
10.2.1 启动、暂停和停止SQL Server服务器 180
10.2.2 注册SQL Server 2000服务器 181
10.2.3 编辑SQL Server 2000注册信息 184
10.3 脚本概述 185
10.3.1 将数据库生成脚本 185
10.3.2 将指定表生成脚本 186
10.3.3 执行脚本 186
10.4 备份和还原数据库 188
10.4.1 备份和还原的概念 188
10.4.2 数据库备份 188
10.4.3 数据库还原 189
10.5 分离和附加数据库 190
10.5.1 分离数据库 190
10.5.2 附加数据库 190
10.6 导入、导出数据表 191
10.6.1 导入数据库 191
10.6.2 导入SQL Server数据表 191
10.6.3 导入其他数据源的数据表 193
10.6.4 导出数据库 196
10.6.5 导出SQL Server数据表 196
第11章 SQL Server 2000数据库设计与操作 198
11.1 关系数据库 198
11.1.1 数据库及关系数据库概述 198
11.1.2 数据库发展历史 198
11.1.3 关系型数据库 199
11.2 分析数据库 199
11.2.1 分析数据库结构 199
11.2.2 设计数据库 200
11.3 使用数据库 201
11.3.1 创建数据库 202
11.3.2 创建数据表 203
11.3.3 SQL Server中的数据类型 204
11.3.4 向数据表中添加数据 206
11.4 建立索引 206
11.4.1 建立和删除惟一索引 206
11.4.2 定义主键索引 207
11.5 关系的建立与维护 208
11.5.1 建立一对一关系 208
11.5.2 建立一对多关系 209
11.5.3 删除关系 210
11.6 使用Visual C++ 6.0与数据库连接 210
11.6.1 ADO简介 211
11.6.2 使用ADO连接数据源前的准备工作 211
11.6.3 Connection与Recordset 211
11.6.4 打开数据与关闭数据连接 212
11.7 如何使用ADO 214
11.7.1 如何打开记录集 214
11.7.2 怎样使用记录集 214
11.8 重新封装ADO 216
11.8.1 RxADO类的制作方法 216
11.8.2 RxRecordset类的制作方法 221
第12章 数据查询技巧 228
12.1 SQL简介 228
12.2 查询命令SELECT 229
12.2.1 SELECT命令简介 229
12.2.2 SELECT子句 230
12.2.3 FROM子句 231
12.2.4 WHERE子句 232
12.2.5 使用ORDER BY排序查询结果 235
12.2.6 聚合函数 236
12.2.7 GROUP BY子句 238
12.2.8 HAVING子句 239
12.2.9 复杂查询 239
12.3 插入命令INSERT 242
12.3.1 INSERT命令简介 242
12.3.2 简单的INSERT命令 243
12.3.3 在插入命令中使用SELECT 244
12.4 更新命令UPDATE 245
12.4.1 UPDATE命令简介 245
12.4.2 简单的UPDATE命令 246
12.4.3 在UPDATE更新命令中使用子查询 247
12.5 删除命令DELETE 247
12.5.1 DELETE命令简介 247
12.5.2 简单的DELETE命令 247
12.5.3 在删除中使用子查询 248
12.6 数据备份与数据还原 249
12.6.1 数据备份命令BACKUP 249
12.6.2 数据还原命令RESTORE 249
第13章 存储过程、触发器与视图 250
13.1 存储过程概述 250
13.2 存储过程的应用 250
13.2.1 新建存储过程 250
13.2.2 修改存储过程 251
13.2.3 删除存储过程 252
13.2.4 获取数据库中存储过程 252
13.2.5 获取指定存储过程语句 252
13.2.6 存储过程的调用 253
13.3 触发器介绍 254
13.4 使用触发器 254
13.4.1 新建触发器 254
13.4.2 修改触发器 255
13.4.3 删除触发器 256
13.5 视图介绍 256
13.6 视图应用 256
13.6.1 新建视图 256
13.6.2 修改视图 257
13.6.3 删除视图 257
13.6.4 获得数据库中所有的视图 258
13.6.5 获得指定视图语句 258
第三篇 实例开发篇
第14章 定制自己的工作环境 261
14.1 工具环境设置介绍 261
14.1.1 Editor 261
14.1.2 Tabs 263
14.1.3 Debug 263
14.1.4 Compatibility 264
14.1.5 Build 265
14.1.6 Directories 265
14.1.7 Source Control 265
14.1.8 Workspace 265
14.1.9 Macros 266
14.1.10 Format 266
14.2 定制自己的工作环境 266
14.3 常用快捷键 267
第15章 Visual C++ 6.0在资产设备管理系统中的应用 269
15.1 资产设备管理系统概述 269
15.1.1 开发背景及意义 269
15.1.2 系统目标 269
15.2 系统分析 270
15.2.1 系统规划 270
15.2.2 系统结构图 270
15.2.3 业务流程 271
15.3 数据库设计 271
15.3.1 数据库概念设计 271
15.3.2 数据库逻辑结构设计 271
15.4 处理过程分析 273
15.4.1 添加资产设备处理过程分析 273
15.4.2 计提折旧处理过程分析 273
15.5 程序框架设计 274
15.6 封装数据库操作 277
15.6.1 导入ADO动态链接库 277
15.6.2 封装ADO对象 278
15.7 菜单设计 281
15.8 设计状态栏 285
15.9 设计工具栏 287
15.10 主窗体设计 290
15.11 程序设计与编码 293
15.11.1 资产类别程序设计 294
15.11.2 添加资产设备程序设计 299
15.11.3 修改资产设备程序设计 304
15.11.4 计提折旧程序设计 308
15.11.5 数据备份程序设计 311
15.11.6 数据还原程序设计 312
15.12 疑难问题分析解决 314
15.12.1 只允许输入数字的编辑框 314
15.12.2 更改静态文本的字体 315
15.12.3 为按钮控件添加图标 315
15.12.4 修改窗口图标 315
15.12.5 遍历窗口中的控件 316
15.12.6 固定资产基本概念 316
15.12.7 固定资产计算公式 317
15.13 程序调试及错误处理 317
15.14 程序设计清单 319
15.15 技术、经验总结 320
15.15.1 技术总结 320
15.15.2 经验总结 320
15.16 系统的编译与发行 321
第16章 Visual C++ 6.0在物资管理系统中的应用 322
16.1 物资管理系统概述 322
16.1.1 系统简介 322
16.1.2 实现目标 322
16.2 系统分析 323
16.2.1 系统规划 323
16.2.2 系统结构图 323
16.2.3 业务流程 324
16.3 数据库设计 324
16.3.1 数据库概念设计 324
16.3.2 数据库逻辑结构设计 324
16.4 程序设计与编码 326
16.4.1 基础信息查询类设计 326
16.4.2 商品信息管理模块 329
16.4.3 日常业务类设计 333
16.4.4 出库统计排行模块 350
16.5 对话框资源对照说明 353
16.6 程序的打包与发行 354
16.6.1 组织安装信息 354
16.6.2 设置目标系统 356
16.6.3 设置安装画面 356
16.6.4 设置系统需求 357
16.6.5 安装打包程序 357
第17章 Visual C++ 6.0在商品采购管理系统中的应用 358
17.1 商品采购管理系统概述 358
17.1.1 开发背景 358
17.1.2 运行环境 358
17.2 系统调查 358
17.2.1 手工流程 358
17.2.2 需求分析 359
17.3 系统分析 359
17.3.1 系统功能 359
17.3.2 系统结构图 359
17.3.3 业务流程 359
17.4 数据库设计 360
17.4.1 数据库概念设计 360
17.4.2 数据库逻辑结构设计 360
17.5 数据库封装类说明 362
17.5.1 概述 362
17.5.2 设计步骤 362
17.5.3 程序相关代码 364
17.6 主窗体设计 371
17.6.1 菜单设计 371
17.6.2 设计背景画面 371
17.6.3 程序设计与编码 372
17.7 采购管理设计 375
17.7.1 概述 375
17.7.2 设计步骤 375
17.7.3 程序相关代码 377
17.8 疑难问题分析解决 382
17.8.1 怎样取得当前日期 382
17.8.2 怎样取得当前路径 382
17.9 程序调试及错误处理 383
17.10 技术、经验总结 384
17.10.1 技术总结 384
17.10.2 经验总结 384
第18章 Visual C++ 6.0在仓库管理系统中的应用 385
18.1 仓库管理系统概述 385
18.1.1 开发背景及意义 385
18.1.2 系统目标 385
18.2 系统分析 386
18.2.1 系统规划 386
18.2.2 系统结构图 386
18.2.3 业务流程 387
18.3 数据库设计 387
18.3.1 数据库概念设计 387
18.3.2 数据库逻辑结构设计 387
18.4 处理过程分析 390
18.4.1 商品入库处理过程分析 390
18.4.2 商品入库查询处理过程分析 390
18.5 程序框架设计 390
18.6 菜单设计 392
18.7 工具栏设计 398
18.8 主窗体设计 400
18.9 程序设计与编码 403
18.9.1 父窗口设计 403
18.9.2 商品入库程序设计 405
18.9.3 库存盘点程序设计 409
18.9.4 入库查询程序设计 412
18.10 疑难问题分析解决 417
18.10.1 利用表格录入商品 417
18.10.2 联想录入表格的实现 419
18.11 程序调试及错误处理 422
18.12 程序设计清单 426
18.13 技术、经验总结 427
18.13.1 技术总结 427
18.13.2 经验总结 427
18.14 系统的编译与发行 427
第19章 Visual C++ 6.0在销售管理系统中的应用 428
19.1 销售管理系统概述 428
19.1.1 开发背景及意义 428
19.1.2 系统目标 428
19.2 系统分析 429
19.2.1 系统规划 429
19.2.2 系统结构图 429
19.2.3 业务流程 430
19.3 数据库设计 430
19.3.1 数据库概念设计 430
19.3.2 数据库逻辑结构设计 430
19.4 处理过程分析 432
19.4.1 商品入库处理过程分析 432
19.4.2 商品销售处理过程分析 433
19.5 数据库封装类说明 433
19.5.1 概述 433
19.5.2 设计步骤 433
19.5.3 程序相关代码 435
19.6 主窗体设计 436
19.6.1 菜单设计 436
19.6.2 设计背景画面 437
19.6.3 程序相关代码 438
19.7 操作员管理程序设计 438
19.7.1 概述 438
19.7.2 设计步骤 438
19.7.3 程序相关代码 439
19.8 销售管理设计 441
19.8.1 概述 441
19.8.2 设计步骤 441
19.8.3 程序相关代码 442
19.9 疑难问题分析解决 443
19.9.1 不显示文字的密码编辑框 443
19.9.2 数据库参数 444
19.10 程序调试及错误处理 444
19.11 程序设计清单 447
19.12 技术、经验总结 448
19.12.1 技术总结 448
19.12.2 经验总结 448
19.13 系统的编译与发行 448
第20章 Visual C++ 6.0在图书管理系统中的应用 449
20.1 图书管理系统概述 449
20.1.1 开发背景及意义 449
20.1.2 系统目标 449
20.2 系统分析 450
20.2.1 系统规划 450
20.2.2 系统结构图 450
20.2.3 业务流程 451
20.3 数据库设计 451
20.3.1 数据库概念设计 451
20.3.2 数据库逻辑结构设计 451
20.4 处理过程分析 455
20.4.1 图书信息处理过程分析 455
20.4.2 销售查询处理过程分析 456
20.5 程序框架设计 456
20.6 主窗体设计 457
20.7 程序设计与编码 459
20.7.1 系统登录程序设计 459
20.7.2 操作员管理程序设计 461
20.7.3 图书信息管理程序设计 463
20.7.4 图书销售查询程序设计 466
20.8 疑难问题分析解决 471
20.8.1 在对话框中添加文档/视图架构 471
20.8.2 在基于对话框程序中实现打印及打印预览 473
20.9 异常处理 478
20.10 程序设计清单 479
20.11 技术、经验总结 480
20.11.1 技术总结 480
20.11.2 经验总结 481
20.12 系统的编译与发行 482
第21章 Visual C++ 6.0在学生管理系统中的应用 483
21.1 学生管理系统概述 483
21.1.1 开发背景及意义 483
21.1.2 系统目标 483
21.2 系统分析 484
21.2.1 系统规划 484
21.2.2 系统结构图 484
21.2.3 业务流程 484
21.3 数据库设计 485
21.3.1 数据库概念设计 485
21.3.2 数据库逻辑结构设计 485
21.4 处理过程分析 487
21.4.1 科室信息添加处理过程分析 487
21.4.2 学生违规登记处理过程分析 487
21.5 主窗体设计 487
21.6 程序设计与编码 489
21.6.1 科室信息管理程序设计 489
21.6.2 学生成绩录入程序设计 493
21.6.3 学生违规处理程序设计 496
21.6.4 学生成绩报表程序设计 497
21.7 疑难问题分析解决 500
21.7.1 导入Excel相关类 500
21.7.2 在程序中操作Excel 501
21.7.3 导入Word相关类 502
21.7.4 在程序中操作Word 502
21.8 系统测试 503
21.9 程序设计清单 504
21.10 技术、经验总结 505
21.10.1 技术总结 505
21.10.2 经验总结 505
21.11 系统的编译与发行 505