第0章 如何学习Visual C++ 1
0.1 什么是Visual C++ 6.0 2
0.2 Visual C++与C++ 2
0.3 使用Visual C++开发程序的过程 2
0.4 怎样学习Visual C++ 3
第1篇 基础知识 6
第1章 步入Visual C++开发之门——初识Visual C++ 6.0 6
1.1 什么是Visual C++ 6.0 7
1.1.1 为什么选择Visual C++ 6.0 7
1.1.2 Visual C++的不同版本 7
1.2 Visual C++ 6.0开发环境的搭建 8
1.2.1 安装Visual C++ 6.0 8
1.2.2 启动Visual C++ 6.0 11
1.3 Visual C++ 6.0开发环境介绍 11
1.3.1 操作命令集合——菜单栏和工具栏 12
1.3.2 开始C++程序——【NEW】对话框 13
1.3.3 项目管理——工作区窗口 14
1.3.4 窗体及代码编辑——编辑窗口 15
1.3.5 程序调试——输出窗口 15
1.4 Visual C++ 6.0的常用工具 16
1.4.1 应用程序向导 16
1.4.2 资源编辑器 16
1.4.3 类向导 17
1.4.4 身边的老师——MSDN 18
1.5 第1个Visual C++应用程序 18
1.6 Visual C++程序调试 21
1.6.1 调试环境 21
1.6.2 调试程序 25
1.7 高手点拨 28
1.8 实战练习 28
第2章 Visual C++的入门阶梯——C++语法基础 29
2.1 保留字和标识符 30
2.1.1 保留字 30
2.1.2 标识符 30
2.2 常量与变量 31
2.2.1 常量 32
2.2.2 变量 33
2.3 C++的数据类型 34
2.3.1 基本数据类型 35
2.3.2 基本数据类型的选取 37
2.3.3 数组类型 38
2.3.4 结构体类型 41
2.3.5 共用体类型 44
2.3.6 枚举类型 46
2.3.7 指针类型 47
2.3.8 引用类型 53
2.3.9 自定义类型 54
2.4 运算符与表达式 54
2.4.1 算术运算符和算术表达式 55
2.4.2 关系运算符和关系表达式 56
2.4.3 逻辑运算符和逻辑表达式 56
2.4.4 赋值运算符和赋值表达式 57
2.4.5 自增和自减(增1和减1)运算符 58
2.4.6 逗号运算符和逗号表达式 59
2.4.7 sizeof运算符和表达式 59
2.4.8 条件运算符和条件表达式 60
2.5 控制语句 60
2.5.1 顺序结构 61
2.5.2 选择结构 62
2.5.3 循环结构 68
2.5.4 转向语句 73
2.6 高手点拨 76
2.7 实战练习 76
第3章 应用程序开发基础——Windows编程和MFC基础 77
3.1 Windows编程模式 78
3.1.1 传统的过程式编程模式 78
3.1.2 事件驱动编程模式 78
3.1.3 消息 80
3.2 MFC基础 84
3.2.1 MFC的特性 84
3.2.2 MFC的类层次 85
3.2.3 MFC中的常用类 90
3.3 高手点拨 102
3.4 实战练习 102
第4章 应用程序的结构——文档与视图 103
4.1 文档与视图 104
4.1.1 文档与视图概述 104
4.1.2 文档与视图的结构 104
4.2 文档与视图通信的关键函数 105
4.3 单文档应用程序 106
4.3.1 第1步:创建项目 106
4.3.2 第2步:主要程序类 108
4.3.3 第3步:添加鼠标事件 110
4.3.4 第4步:设置菜单 113
4.3.5 第5步:添加对话框 117
4.4 多文档应用程序 118
4.5 综合应用——连续打开文档功能的阅读器 123
4.6 高手点拨 131
4.7 实战练习 132
第5章 程序界面的组成——控件应用 133
5.1 控件基础 134
5.1.1 控件概述 134
5.1.2 如何创建控件 134
5.2 Visual C++6.0中的常用控件 135
5.2.1 文本控件 135
5.2.2 编辑框控件 135
5.2.3 按钮控件 136
5.2.4 单选按钮控件 136
5.2.5 复选框控件 136
5.2.6 列表框控件 136
5.2.7 组合框控件 137
5.2.8 控件消息 138
5.2.9 综合应用 138
5.3 高级控件应用 152
5.3.1 树形视图控件 152
5.3.2 图像列表控件 154
5.3.3 综合应用 155
5.4 高手点拨 161
5.5 实战练习 162
第6章 命令集结地——菜单 163
6.1 创建普通菜单 164
6.1.1 添加新菜单项 164
6.1.2 编辑菜单项的属性 164
6.1.3 删除菜单项 165
6.1.4 菜单编辑应用实例 166
6.2 添加菜单命令处理函数 168
6.2.1 添加命令处理函数 168
6.2.2 启用和禁用菜单命令 169
6.2.3 复选和单选标记菜单命令 169
6.2.4 命令处理函数应用实例 169
6.3 创建弹出式菜单 172
6.4 高手点拨 174
6.5 实战练习 176
第7章 工具栏和状态栏 177
7.1 工具栏 178
7.1.1 向工具栏添加按钮 178
7.1.2 编辑按钮属性 179
7.1.3 添加工具栏间隔 179
7.1.4 删除按钮 180
7.1.5 启用和禁用工具栏按钮 181
7.2 状态栏 183
7.2.1 修改应用程序的状态栏 183
7.2.2 更新状态栏窗格内容 185
7.3 高手点拨 187
7.4 实战练习 188
第8章 人机交互的界面——对话框 189
8.1 对话框概述 190
8.2 创建对话框 191
8.3 对话框常用控件 194
8.3.1 常用控件简介 194
8.3.2 控件属性设置 194
8.3.3 添加控件 195
8.4 设置控件Tab键顺序 199
8.5 综合应用——人员管理程序 200
8.6 高手点拨 207
8.7 实战练习 208
第2篇 核心技术 210
第9章 主流软件开发方法——面向对象编程基础 210
9.1 类和对象 211
9.1.1 什么是类和对象 211
9.1.2 数据成员及成员函数 216
9.1.3 构造函数与析构函数 220
9.1.4 友元函数 223
9.1.5 this指针 224
9.1.6 new和delete运算符 225
9.2 继承和派生 226
9.2.1 基本概念 226
9.2.2 派生类的定义 228
9.2.3 公有继承和私有继承的实例 230
9.2.4 派生类的指针 236
9.2.5 多继承 239
9.3 多态性与虚函数 244
9.3.1 多态性的概念与应用 244
9.3.2 虚函数的使用 246
9.3.3 纯虚函数和抽象类 248
9.4 高手点拨 251
9.5 实战练习 252
第10章 初识数据库——数据库系统与SQL语言基础 253
10.1 数据库基本概念 254
10.1.1 信息与数据 254
10.1.2 数据库系统概述 254
10.2 Visual C++ 6.0支持的常用数据库 254
10.3 SQL语言简介 255
10.3.1 SQL语言的特点 255
10.3.2 常用SQL语句简介 255
10.4 Select语句的使用 257
10.4.1 基本Select语句 257
10.4.2 As子语句 258
10.4.3 Where子语句 259
10.4.4 Group By子语句 260
10.4.5 Order By子语句 261
10.5 SQL中的常用函数 261
10.5.1 算术函数 262
10.5.2 统计函数 263
10.6 利用SQL语言修改表数据 265
10.6.1 Insert语句 265
10.6.2 Update语句 266
10.6.3 Delete语句 267
10.7 高手点拨 267
10.8 实战练习 268
第11章 Visual C++与数据库——Visual C++数据库编程 269
11.1 Visual C++ 6.0常用的数据库访问技术 270
11.2 ODBC概述 270
11.2.1 ODBC层次结构 270
11.2.2 管理数据源 271
11.2.3 SDK和API 274
11.3 ODBC API编程 274
11.3.1 ODBC API编程流程 275
11.3.2 ODBC API编程实例 278
11.4 ODBC MFC编程 285
11.4.1 CDatabase类 285
11.4.2 CRecordSet类 285
11.4.3 ODBC MFC编程实例 286
11.5 ADO概述 298
11.6 使用ADO数据控件 299
11.6.1 ADO数据控件 299
11.6.2 ADO数据绑定控件 300
11.6.3 利用ADO控件访问数据库 301
11.7 使用ADO对象编程 305
11.7.1 ADO对象简介 305
11.7.2 使用ADO对象编程实例 311
11.8 高手点拨 319
11.9 实战练习 320
第12章 用Visual C++操纵文件——文件操作 321
12.1 文件的操作 322
12.1.1 打开与关闭文件 322
12.1.2 文件读写 322
12.1.3 文件相关信息的设置与获取 323
12.1.4 文件锁定与解锁 323
12.1.5 文件操作实例 323
12.2 文件定位 326
12.3 文件串行化 328
12.4 文件对话框 333
12.5 内存文件类 334
12.6 文件输入/输出流 336
12.7 高手点拨 339
12.8 实战练习 340
第13章 图形绘制与文本输出 341
13.1 Windows图形设备接口 342
13.1.1 图形设备接口(GDI)概述 342
13.1.2 设备环境 342
13.1.3 设备环境映像模式 343
13.1.4 设备环境类 343
13.1.5 CDC类的绘图函数 346
13.2 图形设备接口对象 348
13.2.1 使用画笔 348
13.2.2 使用画刷 349
13.2.3 构造GDI对象常用的方法 350
13.2.4 GDI对象的选择 351
13.2.5 颜色的使用和表示 351
13.3 文本输出 353
13.3.1 文本和字体 353
13.3.2 文本输出函数 354
13.4 综合应用 358
13.5 高手点拨 363
13.6 实战练习 364
第14章 Visual C++中的网络世界——网络编程 365
14.1 网络应用程序 366
14.1.1 网络应用程序的结构 366
14.1.2 网络连接的建立过程 366
14.2 MFC Socket编程 367
14.2.1 CAsyncSocket类 367
14.2.2 CSocket类 368
14.2.3 Socket编程应用——开发聊天软件 369
14.3 MFC WinInet编程 385
14.3.1 WinInet相关类 385
14.3.2 WinInet全局函数 388
14.3.3 WinInet编程应用——网页源码浏览器 388
14.4 高手点拨 393
14.5 实战练习 394
第15章 Visual C++中的视听——多媒体编程 395
15.1 声音 396
15.1.1 MCI的控制方式 396
15.1.2 MCI命令分类 397
15.1.3 MCI设备类型与设备名称 399
15.1.4 等待、通知和测试标志 399
15.1.5 声音编程应用——播放声音文件 401
15.2 图像 405
15.2.1 Bmp文件显示 406
15.2.2 Windows的调色板 408
15.2.3 构造Windows图像处理类库 408
15.3 视频 414
15.4 高手点拨 417
15.5 实战练习 418
第3篇 应用开发 420
第16章 全屏显示程序开发 420
16.1 程序分析 421
16.1.1 功能分析 421
16.1.2 要点分析 421
16.2 程序设计 422
16.2.1 设计菜单和工具栏 422
16.2.2 添加成员变量 423
16.2.3 添加成员函数 424
16.2.4 添加消息处理函数 426
16.3 程序运行 428
16.4 高手点拨 428
16.5 实战练习 428
第17章 屏幕抓图程序开发 429
17.1 程序分析 430
17.1.1 功能分析 430
17.1.2 要点分析 430
17.2 程序设计 430
17.2.1 新建项目 430
17.2.2 添加代码 432
17.2.3 编辑对话框 433
17.2.4 添加消息处理函数 433
17.3 程序运行 438
17.4 高手点拨 439
17.5 实战练习 440
第18章 剪贴板管理程序开发 441
18.1 程序分析 442
18.1.1 功能分析 442
18.1.2 要点分析 442
18.2 程序设计 443
18.2.1 新建项目 443
18.2.2 编辑控件 444
18.2.3 编辑代码 445
18.3 程序运行 447
18.4 开发常见问题及解决 448
第19章 换肤程序开发 449
19.1 程序分析 450
19.1.1 功能分析 450
19.1.2 要点分析 450
19.2 程序设计 452
19.2.1 新建项目 452
19.2.2 界面设计 453
19.2.3 代码设计 455
19.3 程序运行 456
19.4 开发常见问题及解决 456
第20章 TCP查看器开发 457
20.1 程序分析 458
20.2 程序设计 458
20.2.1 新建项目 458
20.2.2 界面设计 459
20.2.3 添加网络协议支持 461
20.2.4 代码设计 462
20.2.5 设置自动刷新 466
20.3 程序运行 467
20.4 开发常见问题及解决 468
第4篇 项目实战 470
第21章 项目实战前的几点忠告——项目规划 470
21.1 项目开发流程 471
21.1.1 策划阶段 472
21.1.2 需求分析阶段 472
21.1.3 开发阶段 473
21.1.4 编码阶段 473
21.1.5 系统测试阶段 474
21.1.6 系统验收阶段 474
21.1.7 系统维护阶段 474
21.2 项目开发团队 474
21.2.1 项目团队组成 475
21.2.2 项目团队要求 476
21.3 项目开发文档 476
21.3.1 项目开发文档的作用 477
21.3.2 项目开发文档的分类 477
21.4 项目的实际运作 479
21.5 项目规划常见问题及解决 480
21.5.1 如何满足客户需求 480
21.5.2 如何控制项目进度 481
21.5.3 如何控制项目预算 482
第22章 学生宿舍管理系统实战 483
22.1 开发背景 484
22.2 需求及功能分析 484
22.2.1 需求分析 484
22.2.2 总体功能设计 484
22.2.3 各功能模块设计 485
22.3 数据库设计 487
22.3.1 数据库表设计 487
22.3.2 数据库访问类设计 488
22.4 系统界面设计 490
22.4.1 建立工程项目 490
22.4.2 设计系统界面 493
22.5 系统代码编写 495
22.5.1 添加学生住宿信息 495
22.5.2 查询学生注册信息 497
22.5.3 删除指定学生住宿信息 499
22.5.4 显示所有学生住宿信息 501
22.6 系统运行 502
22.7 开发过程常见问题及解决 504
第23章 浏览器开发实战 505
23.1 开发背景 506
23.2 需求及功能分析 506
23.3 系统功能实现 506
23.3.1 建立项目 506
23.3.2 设计地址栏 509
23.3.3 设计菜单 512
23.3.4 设计工具栏 513
23.3.5 为菜单项添加消息处理函数 515
23.3.6 添加虚拟函数 517
23.3.7 添加成员函数 518
23.4 系统运行 520
23.5 开发过程常见问题及解决 522
第24章 企业人事工资管理系统实战 523
24.1 开发背景 524
24.2 需求及功能分析 524
24.2.1 需求分析 524
24.2.2 功能模块设计 525
24.3 数据库设计 525
24.3.1 数据库表设计 525
24.3.2 配置ODBC数据源 530
24.4 系统界面设计 531
24.4.1 建立工程项目 531
24.4.2 设计系统界面 532
24.5 系统功能实现 534
24.5.1 数据库操作类 534
24.5.2 部门信息管理 539
24.5.3 员工信息管理 545
24.5.4 综合人事管理 549
24.5.5 工资管理 554
24.6 系统运行 557
24.7 开发过程常见问题及解决 560
第25章 信息管理系统实战 561
25.1 学生成绩管理系统 562
25.1.1 需求分析 562
25.1.2 系统实现 562
25.1.3 开发常见问题及解决 570
25.2 图书管理系统 570
25.2.1 需求分析 570
25.2.2 系统实现 571
25.2.3 开发常见问题及解决 578
25.3 餐厅管理系统 578
25.3.1 需求分析 578
25.3.2 系统实现 579
25.3.3 开发常见问题及解决 584