标题：Visual C++开发实战宝典
图书信息
出版社: 清华大学出版社; 第1版 (2010年1月1日)
丛书名: 软件开发实战宝典
平装: 769页
正文语种: 简体中文
开本: 16
ISBN: 9787302209058
条形码: 9787302209058
尺寸: 26.2 x 21 x 4 cm
重量: 1.5 Kg
内容简介
《Visual C++开发实战宝典》从初学者的角度讲述使用Visual C++ 6.0进行程序开发应该掌握的各项技术，突出“基础”、“全面”、“深入”，同时就像书名所暗示的一样，强调“实战”效果。只掌握和理解技术，而没有实际应用，等于没有掌握技术。《Visual C++开发实战宝典》在各章介绍技术时，都会提供示例或实例，同时在多数章节的结尾安排有综合应用，通过几个小型项目综合应用本章所讲解的知识，做到理论联系实际。最后在《Visual C++开发实战宝典》的第18～22章提供有5个完整的项目实例，讲述从前期规划、设计流程图到项目的最终实施整个实现过程。
《Visual C++开发实战宝典》共分22章，包括Visual C++ 6.0开发环境，程序设计基础，流程控制，函数，类和对象，对话框程序设计，MFC通用控件，MFC高级控件，菜单、工具栏和状态栏设计，文本、图形图像处理技术，程序调试，打印技术，文件操作，ADO数据库编程，多线程应用程序设计，动态链接库，网络编程，学生管理系统，人事考勤管理系统，视频聊天软件，局域网监控系统，垃圾文件清理工具。
《Visual C++开发实战宝典》适合有志于从事软件开发的初学者、高校计算机相关专业学生和毕业生，也可作为软件开发人员的参考手册，或者高校的教学参考书。
目录
第1部分 基础知识
第1章 Visual C++ 6.0开发环境 3
视频讲解：94分钟
1.1 Visual C++ 6.0概述 4
1.2 熟悉Visual C++ 6.0开发环境 4
1.2.1 菜单介绍 5
1.2.2 工具栏介绍 13
1.2.3 工作区介绍 14
1.2.4 代码编辑窗口介绍 16
1.2.5 控件面板介绍 17
1.2.6 Output（输出）窗口介绍 18
1.3 定制Visual C++ 6.0开发环境 19
1.3.1 设计自己的工具栏窗口 19
1.3.2 调整代码文本颜色 20
1.3.3 批量注释 21
1.4 使用MSDN帮助工具 24
1.5 创建工程 25
1.5.1 创建一个简单的工程 26
1.5.2 设计程序界面 28
1.5.3 为控件关联成员变量 29
1.5.4 编写程序代码 30
1.5.5 编译并运行工程 30
1.5.6 发布应用程序 30
1.6 小结 31
第2章 程序设计基础 33
视频讲解：220分钟
2.1 程序设计基本要素 34
2.1.1 标识符 34
2.1.2 关键字 34
2.1.3 常量 35
2.1.4 变量 36
2.1.5 寄存器变量 37
2.1.6 静态变量 37
2.1.7 外部变量 38
2.1.8 自动变量 39
2.1.9 注释 39
2.2 数据类型 41
2.2.1 简单数据类型 41
2.2.2 布尔类型 43
2.2.3 数组类型 43
2.2.4 枚举类型 45
2.2.5 结构体类型 47
2.2.6 共用体类型 51
2.2.7 指针类型 51
2.2.8 引用类型 57
2.2.9 类型别名 58
2.3 类型转换 59
2.3.1 数值类型转换 59
2.3.2 静态转换 60
2.3.3 动态转换 61
2.3.4 常量转换 61
2.3.5 重解释转换 63
2.3.6 数值类型与字符串之间的转换 63
2.4 运算符 65
2.4.1 赋值运算符 65
2.4.2 算术运算符 66
2.4.3 关系运算符和逻辑运算符 68
2.4.4 递增递减运算符 70
2.4.5 位运算符 71
2.4.6 sizeof运算符 75
2.4.7 new和delete运算符 77
2.4.8 优先级 78
2.5 表达式 79
2.5.1 逗号表达式 79
2.5.2 条件表达式 80
2.6 实战 80
2.6.1 字符串加密与解密 81
2.6.2 反转输出字符串 83
2.6.3 输出系统日期和时间 84
2.7 小结 86
2.8 实战练习 86
第3章 流程控制 87
视频讲解：84分钟
3.1 简单语句 88
3.2 复合语句 88
3.3 分支语句 90
3.3.1 if条件语句 90
3.3.2 switch分支语句 94
3.4 循环语句 99
3.4.1 for循环语句 99
3.4.2 while循环语句 103
3.4.3 do while循环语句 105
3.5 跳转语句 106
3.5.1 goto语句 106
3.5.2 return语句 108
3.5.3 exit语句 109
3.6 实战 110
3.6.1 对数组元素排序 110
3.6.2 统计学生成绩的最高分、最低分和平均值 111
3.6.3 解析字符串 113
3.7 小结 114
3.8 实战练习 114
第4章 函数 115
视频讲解：122分钟
4.1 函数的定义 116
4.1.1 函数的声明和定义 116
4.1.2 函数的调用 119
4.2 函数参数 119
4.2.1 默认值参数 119
4.2.2 const参数 120
4.2.3 指针/引用参数 121
4.2.4 数组参数 123
4.2.5 内联函数 127
4.3 重载函数 127
4.3.1 定义重载函数 127
4.3.2 隐藏重载函数 130
4.4 函数递归调用 131
4.5 函数指针 133
4.6 函数模板 135
4.6.1 函数模板应用 135
4.6.2 重载函数模板 136
4.7 作用域和生命期 137
4.7.1 局部作用域 137
4.7.2 全局作用域 139
4.7.3 命名空间 140
4.8 实战 145
4.8.1 遍历磁盘目录 145
4.8.2 数值排序 147
4.9 小结 148
4.10 实战练习 148
第5章 类和对象 149
视频讲解：243分钟
5.1 面向对象程序设计 150
5.1.1 面向对象技术产生的背景 150
5.1.2 面向对象的主要特征 151
5.2 类的定义 151
5.3 类的实例化——对象 153
5.4 构造函数和析构函数 156
5.4.1 构造函数 157
5.4.2 复制构造函数 159
5.4.3 析构函数 161
5.5 特殊的类成员 163
5.5.1 常量成员 163
5.5.2 静态成员 164
5.5.3 隐藏的this指针 166
5.6 特殊的成员函数 168
5.6.1 内联成员函数 168
5.6.2 静态成员函数 170
5.6.3 重载成员函数 172
5.7 类成员指针 174
5.7.1 类成员函数指针 174
5.7.2 类数据成员指针 175
5.8 继承 176
5.8.1 单继承 177
5.8.2 虚函数与动态绑定 180
5.8.3 抽象类 183
5.8.4 类型转换 185
5.8.5 多继承 187
5.8.6 虚继承 189
5.9 运算符重载 192
5.9.1 构造函数自动转换与禁止 192
5.9.2 运算符重载 193
5.10 友元函数和友元类 196
5.11 类域 200
5.12 嵌套类 203
5.13 局部类 205
5.14 类模板 206
5.14.1 应用类模板 206
5.14.2 类模板中的静态数据成员 212
5.15 异常处理 213
5.15.1 异常捕捉 214
5.15.2 抛出异常 215
5.16 实战 217
5.16.1 递归遍历二叉树 218
5.16.2 循环遍历二叉树 221
5.17 小结 227
5.18 实战练习 227
第2部分 技术应用
第6章 对话框程序设计 231
视频讲解：160分钟
6.1 创建对话框应用程序 232
6.2 创建对话框 233
6.2.1 设计对话框资源 233
6.2.2 创建并显示对话框 237
6.3 设置对话框属性 242
6.3.1 使用属性窗口设置对话框属性 242
6.3.2 使用代码设置对话框属性 247
6.4 对话框布局 249
6.4.1 向对话框中添加控件 249
6.4.2 调整控件的Tab键顺序 250
6.4.3 调整控件至相同的大小 251
6.4.4 在对话框中对齐控件 252
6.4.5 排列控件 254
6.4.6 使用网格线进行界面布局 257
6.4.7 测试对话框布局效果 259
6.5 访问对话框中的控件 259
6.5.1 使用类向导为控件关联变量 259
6.5.2 利用控件ID获取控件窗口指针 263
6.5.3 利用数据交换访问控件文本数据 264
6.6 设置对话框和应用程序图标 266
6.7 添加对话框成员和成员函数 268
6.7.1 添加成员和成员函数 268
6.7.2 添加消息处理函数 270
6.7.3 手动添加命令消息处理函数 272
6.8 使用消息对话框 273
6.9 Windows通用对话框 275
6.9.1 文件对话框 275
6.9.2 查找/替换对话框 276
6.9.3 “字体”对话框 277
6.9.4 “颜色”对话框 278
6.9.5 “打印”对话框 278
6.10 实战 279
6.10.1 获取系统磁盘信息 279
6.10.2 简单局域网通信程序 282
6.11 小结 286
6.12 实战练习 286
第7章 MFC通用控件 287
视频讲解：71分钟
7.1 编辑框控件EditBox 288
7.1.1 获取/设置编辑框文本 288
7.1.2 设置字体和文本颜色 288
7.1.3 设置密码框 289
7.1.4 设置只读编辑框 290
7.1.5 编辑框多行显示文本 290
7.2 静态文本控件StaticText 291
7.2.1 设置控件文本 291
7.2.2 响应鼠标单击事件 292
7.3 按钮控件Button 293
7.3.1 设置按钮单击事件 293
7.3.2 设置图标按钮 294
7.4 复选框控件CheckBox 295
7.4.1 设置和取消复选框选中状态 296
7.4.2 使用复选框统计个人爱好 297
7.5 单选按钮控件RadioButton 298
7.5.1 为单选按钮设置分组 298
7.5.2 利用单选按钮确定用户的选择 299
7.6 组合框控件ComboBox 300
7.6.1 设置组合框风格 301
7.6.2 调整组合框列表部分大小 301
7.6.3 向组合框中插入数据 302
7.6.4 获取用户选择的数据 303
7.6.5 设置组合框默认显示的数据 303
7.7 列表框控件ListBox 303
7.7.1 向列表框中插入文本 304
7.7.2 为列表框中的项目添加复选功能 305
7.7.3 同时选择多个项目 306
7.8 图像控件Picture 307
7.8.1 使用属性窗口显示位图 307
7.8.2 动态加载位图 308
7.9 实战 309
7.9.1 利用图像控件实现公交线路模拟 309
7.9.2 设计媒体播放器 312
7.10 小结 314
7.11 实战练习 314
第8章 MFC高级控件 315
视频讲解：84分钟
8.1 图像列表控件ImageList 316
8.1.1 创建图像列表 316
8.1.2 使用图像列表绘图 317
8.2 列表视图控件ListControl 319
8.2.1 设置列表视图控件风格 319
8.2.2 使用列表视图设计登录界面 320
8.2.3 设置列表视图背景位图 321
8.2.4 使用列表视图显示表格数据 324
8.3 树视图控件TreeControl 325
8.3.1 设置树视图控件属性 325
8.3.2 使用树视图控件显示区域信息 326
8.3.3 修改树视图控件文本颜色 328
8.3.4 设置复选功能的树视图控件 329
8.4 进度条控件Progress 333
8.4.1 设置进度条样式 333
8.4.2 使用进度条显示操作进度 334
8.5 滑块控件Slider 335
8.5.1 滑块控件属性设置 335
8.5.2 使用滑块控件设置颜色 336
8.6 标签控件TabControl 339
8.6.1 标签控件属性设置 339
8.6.2 使用标签控件设计多页面窗口 341
8.6.3 显示图标的标签控件 343
8.7 实战 344
8.7.1 删除学生信息 344
8.7.2 对位图文件进行批量编号命名 348
8.8 小结 351
8.9 实战练习 351
第9章 菜单、工具栏和状态栏设计 353
视频讲解：74分钟
9.1 菜单设计 354
9.1.1 设计菜单资源 354
9.1.2 菜单项命令处理 357
9.1.3 动态创建菜单 358
9.1.4 禁用/启用菜单项 361
9.1.5 设计弹出式菜单 363
9.1.6 设计位图菜单 365
9.2 工具栏设计 368
9.2.1 工具栏资源设计 368
9.2.2 工具栏按钮命令处理 371
9.2.3 动态创建工具栏 372
9.2.4 为工具栏设置工具提示功能 376
9.3 状态栏设计 377
9.3.1 创建状态栏 377
9.3.2 在状态栏中显示进度条 380
9.4 实战 382
9.4.1 设计学生管理系统主界面 382
9.4.2 设计任务栏托盘菜单 385
9.5 小结 387
9.6 实战练习 387
第10章 文本、图形图像处理技术 389
视频讲解：90分钟
10.1 图形设备接口 390
10.1.1 设备上下文DC 390
10.1.2 GDI对象 391
10.2 对话框窗口区域 392
10.3 文本输出 394
10.3.1 在指定区域中输出文本 394
10.3.2 输出指定字体和颜色文本 396
10.3.3 在通道中输出文本 398
10.3.4 在图像背景上输出透明文本 399
10.4 绘制图形 401
10.4.1 绘制五子棋表格 401
10.4.2 绘制多边形 403
10.4.3 绘制控件外观 404
10.4.4 填充区域 405
10.5 图像输出 407
10.5.1 在窗口中输出位图资源 407
10.5.2 显示磁盘中的位图文件 410
10.5.3 在窗口非客户区域输出位图 412
10.5.4 位图文件结构分析 414
10.5.5 使用位图数据直接绘图 416
10.5.6 显示JPEG格式图像 419
10.6 GDI+图像处理技术 422
10.6.1 在程序中使用GDI+ 422
10.6.2 使用GDI+显示GIF动画 423
10.6.3 使用GDI+实现图像水印效果 426
10.7 实战 428
10.7.1 设计具有图片滚动功能的浏览器 428
10.7.2 设计字形窗体的程序启动界面 433
10.8 小结 435
10.9 实战练习 435
第11章 程序调试 437
视频讲解：30分钟
11.1 断点跟踪 438
11.1.1 设计简单断点 438
11.1.2 设置数据断点 439
11.1.3 条件断点 439
11.1.4 设置消息断点 440
11.2 调试窗口 441
11.2.1 Watch窗口 441
11.2.2 Call Stack窗口 443
11.2.3 Memory窗口 443
11.2.4 Variables窗口 444
11.2.5 Registers窗口 445
11.2.6 Disassembly窗口 446
11.3 宏调试技术 447
11.3.1 应用TRACE宏输出信息 448
11.3.2 应用ASSERT宏诊断条件是否成立 448
11.4 内存泄露检查 449
11.5 小结 450
第12章 打印技术 451
视频讲解：63分钟
12.1 打印基础知识 452
12.1.1 打印机介绍 452
12.1.2 分辨率 452
12.1.3 映射模式 452
12.2 打印输出 454
12.2.1 获取打印机设备上下文 454
12.2.2 打印文本信息 455
12.2.3 打印图像 457
12.3 打印控制 459
12.3.1 控制打印方向 461
12.3.2 设置打印纸大小 463
12.4 实战 464
12.4.1 实现工作证打印 464
12.4.2 打印对话框及其控件中的数据 467
12.5 小结 469
12.6 实战练习 469
第13章 文件操作 471
视频讲解：104分钟
13.1 使用C函数进行文件操作 472
13.1.1 读取文件信息 472
13.1.2 写入文件信息 474
13.1.3 定位文件 475
13.2 使用CFile类进行文件操作 477
13.2.1 读取文件信息 477
13.2.2 写入文件信息 479
13.2.3 定位文件 481
13.2.4 文件异常处理 483
13.3 文件管理 485
13.3.1 获取文件属性信息 486
13.3.2 查找文件 487
13.3.3 复制文件 490
13.3.4 删除文件 492
13.4 INI文件操作 494
13.4.1 INI文件结构解析 494
13.4.2 读写INI文件 494
13.5 注册表操作 497
13.5.1 使用函数直接读写注册表 498
13.5.2 使用CRegKey类读写注册表 502
13.6 实战 505
13.6.1 复制文件过程中显示进度条 505
13.6.2 设置开机自动运行 507
13.7 小结 510
13.8 实战练习 510
第14章 ADO数据库编程 511
视频讲解：32分钟
14.1 数据库概述 512
14.1.1 数据库发展历史 512
14.1.2 关系型数据库 513
14.2 ADO技术 513
14.2.1 ADO概述 514
14.2.2 在工程中使用ADO技术 514
14.3 ADO对象 514
14.3.1 ADO连接对象Connection 514
14.3.2 ADO记录集对象Recordset 517
14.3.3 ADO命令对象Command 520
14.4 实战 522
14.4.1 使用ActiveX控件连接数据库 522
14.4.2 使用ADO对象向数据库添加数据 524
14.4.3 使用SQL语句修改和删除数据库中的数据 527
14.5 小结 529
14.6 实战练习 529
第15章 多线程应用程序设计 531
视频讲解：72分钟
15.1 线程概述 532
15.1.1 线程的定义 532
15.1.2 线程与进程的关系 532
15.2 线程的创建 533
15.2.1 使用CreateThread函数创建线程 533
15.2.2 使用_beginthread函数创建线程 535
15.2.3 使用AfxBeginThread函数创建线程 536
15.3 线程的调度 539
15.3.1 挂起线程 539
15.3.2 唤醒线程 540
15.3.3 终止线程 541
15.4 线程同步 542
15.4.1 线程同步的必要性 543
15.4.2 使用事件对象实现线程同步 544
15.4.3 使用互斥对象实现线程同步 546
15.4.4 使用信标对象实现线程同步 548
15.4.5 使用关键代码段实现线程同步 550
15.5 线程池 552
15.5.1 异步调用函数 553
15.5.2 依据指定的时间间隔调用函数 555
15.6 实战 557
15.6.1 使用多线程实现临时文件清理 558
15.6.2 使用多线程实现任务列表管理 566
15.7 小结 572
15.8 实战练习 572
第16章 动态链接库 573
视频讲解：41分钟
16.1 动态链接库基础 574
16.1.1 动态链接库的特点 574
16.1.2 查看动态链接库 574
16.2 创建和访问动态链接库 575
16.2.1 创建通用的动态链接库 575
16.2.2 访问动态链接库 577
16.2.3 向动态链接库中添加类和资源 578
16.2.4 访问动态链接库中的类和资源 580
16.3 移花接木——函数转发器 581
16.4 实战 582
16.4.1 使用动态链接库设计支持多国语言的应用程序 582
16.4.2 利用动态链接库实现界面换肤 586
16.5 小结 588
16.6 实战练习 588
第17章 网络编程 589
视频讲解：116分钟
17.1 计算机网络基础 590
17.1.1 计算机网络发展历史 590
17.1.2 OSI参考模型 590
17.1.3 IP地址 591
17.1.4 域名 591
17.1.5 地址解析 592
17.1.6 TCP/IP协议 593
17.1.7 端口 594
17.2 套接字编程基础 595
17.2.1 套接字概述 595
17.2.2 套接字阻塞模式 595
17.2.3 字节顺序 596
17.2.4 套接字I/O模型 596
17.3 套接字函数 611
17.3.1 套接字函数介绍 611
17.3.2 设计简单的网络聊天程序 616
17.4 MFC套接字编程 624
17.4.1 CAsyncSocket类 624
17.4.2 CSocket类 628
17.4.3 设计多人对话的网络聊天室 629
17.5 实战 635
17.5.1 设计信息广播应用程序 635
17.5.2 设计文件发送应用程序 638
17.6 小结 657
17.7 实战练习 657
第3部分 项目实战
第18章 学生管理系统 661
视频讲解：104分钟
18.1 开发背景 662
18.2 系统分析 662
18.2.1 需求分析 662
18.2.2 系统功能描述 662
18.3 系统设计 663
18.3.1 系统目标 663
18.3.2 系统功能结构 663
18.3.3 系统预览 664
18.3.4 业务流程图 664
18.3.5 数据库设计 665
18.4 公共类设计 667
18.5 主窗体设计 668
18.6 科目信息管理模块设计 669
18.6.1 科目信息管理模块概述 669
18.6.2 科目信息管理技术分析 669
18.6.3 科目信息管理实现过程 670
18.7 学生信息管理模块设计 675
18.7.1 学生信息管理模块概述 675
18.7.2 学生信息管理技术分析 675
18.7.3 学生信息管理实现过程 675
18.8 学生成绩录入模块设计 679
18.8.1 学生成绩录入模块概述 679
18.8.2 学生成绩录入技术分析 679
18.8.3 学生成绩录入实现过程 680
18.9 成绩等级管理模块设计 682
18.9.1 成绩等级管理模块概述 682
18.9.2 成绩等级管理技术分析 682
18.9.3 成绩等级管理实现过程 683
18.10 学生违规查询模块设计 690
18.10.1 学生违规查询模块概述 690
18.10.2 学生违规查询技术分析 690
18.10.3 学生违规查询实现过程 691
18.11 学生成绩报表打印模块设计 694
第19章 人事考勤管理系统 699
视频讲解：91分钟
19.1 开发背景 700
19.2 系统分析 700
19.2.1 需求分析 700
19.2.2 系统功能描述 700
19.3 系统设计 700
19.3.1 系统目标 700
19.3.2 系统功能结构 701
19.3.3 系统预览 701
19.3.4 业务流程图 702
19.3.5 数据库设计 702
19.4 公共类设计 703
19.5 主窗体设计 708
19.6 用户登录模块设计 709
19.6.1 用户登录模块概述 709
19.6.2 用户登录模块技术分析 709
19.6.3 用户登录模块实现过程 710
19.7 用户管理模块设计 711
19.7.1 用户管理模块概述 711
19.7.2 用户管理模块技术分析 711
19.7.3 用户管理模块实现过程 712
19.8 部门管理模块设计 713
19.8.1 部门管理模块概述 713
19.8.2 部门管理模块技术分析 714
19.8.3 部门管理模块实现过程 714
19.9 人员信息管理模块设计 717
19.9.1 人员信息管理模块概述 717
19.9.2 人员信息管理技术分析 717
19.9.3 人员信息管理实现过程 717
19.10 考勤管理模块设计 723
19.10.1 考勤管理模块概述 723
19.10.2 考勤管理模块技术分析 724
19.10.3 考勤管理模块实现过程 725
19.11 考勤汇总查询模块设计 730
19.11.1 考勤汇总查询模块概述 730
19.11.2 考勤汇总查询模块技术分析 730
19.11.3 考勤汇总查询模块实现过程 731
第20章 视频聊天软件 735
视频讲解：52分钟
20.1 开发背景 736
20.2 系统功能描述 736
20.3 系统技术分析 736
20.4 系统实现过程 737
第21章 局域网监控系统 745
视频讲解：39分钟
21.1 开发背景 746
21.2 系统功能描述 746
21.3 系统技术分析 746
21.4 系统实现过程 747
第22章 垃圾文件清理工具 753
视频讲解：19分钟
22.1 开发背景 754
22.2 系统功能描述 754
22.3 系统技术分析 754
22.4 系统实现过程 755
附录A 759
第1章思考题答案 759
第2章思考题答案 760
第3章思考题答案 760
第4章思考题答案 761
第5章思考题答案 761
第6章思考题答案 762
第7章思考题答案 763
第8章思考题答案 763
第9章思考题答案 764
第10章思考题答案 764
第11章思考题答案 765
第12章思考题答案 766
第13章思考题答案 766
第14章思考题答案 768
第15章思考题答案 768
第16章思考题答案 769
第17章思考题答案 769