标题：Visual C++完全自学手册
图书信息
出版社: 机械工业出版社; 第1版 (2009年1月1日)
丛书名: 编程红宝书
平装: 430页
正文语种: 简体中文
开本: 16
ISBN: 9787111256540
条形码: 9787111256540
尺寸: 25.6 x 20.2 x 2.4 cm
重量: 939 g
内容简介
《Visual C++完全自学手册》的特点是详细介绍了使用VC6.0进行C++程序设计，从C++语言理论，到MFC库的使用和COM组件等扩展知识的剖析，突出了理论严谨性和程序实用性。《Visual C++完全自学手册》含有大量实例，详细描述实例开发过程和挖掘理论实践要点。
Visual C++6.0（以下简称VC6.0）是微软精心打造的集成开发环境，使用VC6.0可以自由地开发MFC应用程序、Win32应用程序、DLL组件和Web服务程序等。VC6.0的核心是MFC库，《Visual C++完全自学手册》着重介绍MFC库的原理和使用方法，循环渐进地讲解了MFC库的知识，从基本概念到具体实践、从理论本质到具体操作、从小型实例到大中型综合实例。在《Visual C++完全自学手册》的各个知识点中，都会给出相应的实例进行知识点的巩固和提高，通过实践练习来消化知识点和相关应用。
《Visual C++完全自学手册》适合需要学习VC6.O进行应用程序开发的读者阅读，也可以作为开发人员的参考手册随时进行查阅。
目录
写给自学编程的人员
前言
第一篇  C++、VC6.0和应用程序框架基础
第1章  VC6.0开发环境和应用程序框架        1
1.1  安装并测试VC6.0        1
1.1.1  VC6.0的安装        1
1.1.2  VC6.0开发环境         6
1.1.3  VC6.0应用程序向导和项目创建         7
1.2  VC6.0简介         10
1.2.1  C/C++编译器         11
1.2.2  编辑器         11
1.2.3  资源编辑器和资源符号        12
1.2.4  连接器和调试器        13
1.2.5  VC6.0的主要菜单项功能        13
1.2.6  项目和解决方案        21
1.2.7  本机帮助和联机帮助        21
1.3  Win32基本应用程序的创建        22
1.3.1  使用AppWizard应用程序向导        22
1.3.2  Win32应用程序的生成        22
1.3.3  VC6.0的调试：变量跟踪和函数调用栈        27
1.4  Microsoft应用程序框架        28
1.4.1  全局对象        28
1.4.2  MFC的消息映射和消息分类        29
1.5  实例1.1-编写第一个C++程序：Hello, C++!        29
1.6  实例1.2-创建第一个MFC程序：Hello, MFC!        32
1.7  小结        33
第2章  C++语法基础        34
2.1  C++简介        34
2.2  数据类型定义和使用        35
2.2.1  简单变量        35
2.2.2  算术运算符        39
2.2.3  枚举、指针和数组        40
2.2.4  string类和C风格字符串        43
2.2.5  结构体类型        44
2.2.6  类类型        46
2.2.7  实例2.1-成绩管理系统（1.0版）        49
2.3  运算符、表达式和语句        54
2.3.1  几种常用的运算符        54
2.3.2  循环语句：for语句、while语句和do...while语句        55
2.3.3  判断语句：if语句和switch语句        57
2.3.4  实例2.2-成绩管理系统（2.0版）        61
2.4  函数定义和调用        64
2.4.1  定义函数和函数原型        64
2.4.2  函数通过指针来调用数组        65
2.4.3  函数指针        66
2.4.4  具有引用参数的函数        67
2.4.5  函数重载        70
2.4.6  函数模板的定义和使用        71
2.4.7  实例2.3-成绩管理系统（3.0版）        72
2.5  类的定义和对象构造        74
2.5.1  自然界中的类型和C++的类定义        74
2.5.2  实现类成员函数        76
2.5.3  实例化类对象并使用        78
2.5.4  类的构造函数和析构函数        79
2.5.5  运算符重载与this指针的使用        81
2.5.6  友元函数和友元类        83
2.5.7  实例2.4-成绩管理系统（4.0版）        86
2.6  类继承        90
2.6.1  is-a关系        90
2.6.2  多态公有继承        92
2.6.3  protected访问控制        94
2.6.4  抽象基类        95
2.6.5  私有继承和保护继承        96
2.6.6  多继承        96
2.6.7  类模板        97
2.7  C++异常机制        98
2.7.1  异常处理类型        98
2.7.2  exception类        100
2.8  标准模板库（STL）        100
2.8.1  auto_ptr类的使用        101
2.8.2  vector模板类的定义和使用        101
2.8.3  通用算法        102
2.8.4  实例2.5-使用STL和通用算法开发成绩管理系统（5.0版）        104
2.9  I/O流和文件        109
2.9.1  C++的输入和输出        109
2.9.2  文件输入和输出        109
2.9.3  实例2.6-在VC6.0 中创建C++源文件，使用磁盘文件读写        110
2.10  小结        111
第二篇  MFC基础
第3章  Windows消息映射        113
3.1  视图类        113
3.2  应用程序的类型        114
3.3  资源编辑器        115
3.4  MFC应用程序中的各种子功能        116
3.5  消息映射函数和Windows映射模式        121
3.5.1  获取用户单击和输入        121
3.5.2  MM_TEXT映射模式        121
3.5.3  固定比例映射模式        122
3.5.4  可变比例映射模式        122
3.5.5  坐标转换        122
3.6  其他Windows消息        123
3.7  实例-消息映射函数的使用        123
3.8  小结        128
第4章  GDI函数        129
4.1  设备环境类        129
4.1.1  CDC类及其派生类简介        129
4.1.2  CDC类对象的行为函数        130
4.2  GDI对象的构造和使用        132
4.3  字体选择和显示        132
4.4  实例4.1-字体的使用        133
4.5  GDI位图和DIB位图        135
4.6  实例4.2-位图的使用        136
4.7  小结        141
第5章  对话框        142
5.1  两种不同类型的对话框        142
5.2  实例5.1-计算器软件的开发        142
5.3  实例5.2-模式对话框的创建和使用        147
5.4  Windows通用对话框        150
5.4.1  CFileDialog类-文件打开对话框的使用        151
5.4.2  CColorDialog类-调色板对话框的使用        152
5.4.3  CFindReplaceDialog类-字词查找和替换对话框的使用        153
5.4.4  CPageSetupDialog类-页面设置对话框的使用        154
5.4.5  CFontDialog类-字体设置对话框的使用        156
5.4.6  CPrintDialog类-打印设置对话框的使用        157
5.5  无模式对话框        157
5.6  小结        158
第6章  控件        160
6.1  VC6.0资源和通用控件        160
6.2  VC6.0的控件工具箱        160
6.3  实例6.1-简单控件的使用        162
6.4  标准通用控件        165
6.4.1  进度指示器控件        165
6.4.2  划块控件        165
6.4.3  列表控件        166
6.4.4  树状控件        166
6.5  实例6.2-标准通用控件的使用        167
6.6  实例6.3-成绩管理系统（6.0版-Windows版）        170
6.7  小结        183
第7章  Windows的基本输入        184
7.1  键盘消息及其处理        184
7.1.1  键盘消息的处理        184
7.1.2  键盘消息处理函数        185
7.1.3  实例7.1-键盘消息处理        186
7.2  鼠标消息及其处理        190
7.2.1  鼠标消息的处理        190
7.2.2  鼠标消息处理函数        190
7.2.3  实例7.2-鼠标消息处理（五子棋游戏）        191
7.3  小结        203
第8章  ActiveX控件        204
8.1  ActiveX控件的特殊性        204
8.1.1  ActiveX控件和普通控件的相同点        204
8.1.2  ActiveX控件和普通控件的不同点        204
8.2  安装ActiveX控件        205
8.3  实例-ActiveX控件：日历控件的创建        206
8.4  ActiveX控件在Web编程中的使用        208
8.5  图形属性和变化通知        209
8.6  小结        210
第三篇  深入学习MFC
第9章  菜单和框架窗口        211
9.1  Windows应用程序的框架窗口        211
9.2  Windows菜单和MFC菜单编辑器        211
9.3  Windows应用程序的快捷键        212
9.4  命令处理的使用        213
9.5  复文本编辑        214
9.5.1  编辑视图类：CEditView类        214
9.5.2  复文本编辑视图类：CRichEditView类        214
9.5.3  复文本编辑控件类：CRichEditCtrl类        214
9.6  实例-快捷键和文本编辑使用        214
9.6.1  基本框架和界面实现        215
9.6.2  快捷键设计        217
9.6.3  存储和显示文档类中的文本        218
9.6.4  选项卡对话框的设计        219
9.6.5  视图类的功能实现        221
9.6.6  运行效果和实践小结        223
9.7  属性表的开发过程        223
9.8  鼠标右键调用的浮动快捷菜单        224
9.9  CPersistentFrame持续信息类的使用        225
9.10  使用ActivateFrame（ ）成员函数设置窗口尺寸和位置        226
9.11  创建窗口之前的工作：PreCreateWindow成员函数        226
9.12  控制栏状态和Windows注册表        227
9.13  MDI应用程序和持续框架        227
9.14  小结        228
第10章    工具栏和状态栏        229
10.1  MFC应用程序框架和控制栏        229
10.2  工具栏按钮        229
10.2.1  工具栏位图和按钮的状态        229
10.2.2  命令消息和更新命令控制函数        230
10.3  工具栏的提示信息        230
10.4  实例10.1-使用工具栏的应用程序        231
10.5  状态栏的定义和显示        235
10.5.1  状态栏的定义        235
10.5.2  信息行的显示        235
10.5.3  状态指示器        236
10.6  实例10.2-使用状态栏的程序设计        237
10.7  小结        238
第11章  文档和视图的分离        239
11.1  文档和视图相互作用的函数        239
11.1.1  获取当前文档：CView::GetDocument（）函数        239
11.1.2  更新所有视图：CDocument::UpdateAllViews（）函数        240
11.1.3  视图自我更新：CViews::OnUpdate（）函数        240
11.1.4  初始化更新界面：CView::OnInitialUpdate（）函数        240
11.1.5  创建新文档：CDocument::OnNewDocument（）函数        240
11.2  一个简单的文档视图应用程序的创建和分析        240
11.3  CView类的派生类        241
11.4  MFC类家族的始祖-CObject类        241
11.5  诊断信息转储基础        242
11.5.1  TRACE宏的使用        242
11.5.2  AfxDump对象的使用        242
11.5.3  MFC的信息转储环境        243
11.6  实例11.1-使用诊断信息进行文档视图交互        245
11.6.1  项目创建和界面设计        245
11.6.2  CWorker类的设计        246
11.6.3  诊断信息和文档视图交互功能的实现        248
11.7  高级的文档和视图交互        250
11.8  CObList集合类        252
11.9  实例11.2-一个多视图的SDI应用程序        253
11.9.1  项目创建和界面设计        253
11.9.2  编写文档代码        254
11.9.3  编写视图代码        254
11.10  小结        257
第12章  文档的读和写        258
12.1  序列化理论        258
12.1.1  磁盘文件和内存文件        258
12.1.2  类的序列化        259
12.1.3  编写Serialize（ ）函数        259
12.2  Windows应用程序对象        260
12.3  实例12.1-支持序列化的应用程序        260
12.3.1  创建支持序列化的MFC应用程序        260
12.3.2  重写CObject基类的序列化函数        261
12.3.3  编写界面功能        262
12.3.4  开发序列化和反序列化功能        263
12.4  应用程序在Windows中的注册        264
12.5  MDI应用程序        265
12.5.1  MDI应用程序对象        265
12.5.2  MDI文档模板类        265
12.5.3  MDI窗口类型        266
12.5.4  创建文档        266
12.6  实例12.2-MDI应用程序的创建        266
12.7  MTI支持        268
12.8  小结        268
第13章  切分窗口和多视图        269
13.1  动态和静态切分窗口        269
13.2  关于视图的选择        269
13.3  实例13.1-简单动态切分窗口应用程序的创建        270
13.4  实例13.2-多视图的静态切分窗口的开发        272
13.5  实例13.3-多视图切换的开发        274
13.6  小结        276
第14章  打印功能        277
14.1  Windows环境下的打印功能        277
14.2  打印预览        277
14.3  打印程序设计的相关接口        278
14.3.1  打印机设备环境        278
14.3.2  打印函数：CView::OnPrint（ ）函数        278
14.3.3  打印程序的执行过程        278
14.4  实例14.1-打印应用程序的创建和使用        279
14.5  实例14.2-多页打印应用程序的创建和使用        282
14.6  小结        285
第15章  上下文相关帮助        286
15.1  简易WinHelp的制作        286
15.2  应用程序框架WinHelp        288
15.2.1  调用WinHelp        288
15.2.2  使用搜索功能        288
15.2.3  消息框帮助        289
15.3  实例-帮助示例        289
15.4  帮助快捷命令        293
15.4.1  使用F1键        293
15.4.2  通过菜单命令调用帮助过程        293
15.5  小结        293
第16章  动态链接库（DLL）        294
16.1  DLL理论基础        294
16.1.1  DLL导入和导出的原理        295
16.1.2  隐式和显式连接        295
16.1.3  符号和序号连接        295
16.1.4  DllMain（）函数        295
16.2  正规的MFC DLL和扩展的MFC DLL        296
16.2.1  正规的DLL        296
16.2.2  扩展的DLL        298
16.3  自定义控件DLL        299
16.4  实例-创建和使用自定义控件DLL        300
16.4.1  创建项目        300
16.4.2  添加功能代码        300
16.4.3  创建客户程序测试自定义控件        302
16.5  小结        304
第17章  MFC类家族        305
17.1  MFC类家族结构        305
17.2  MFC运行机制        306
17.3  MFC家族分支        307
17.3.1  CView视图类分支        307
17.3.2  CDC画图类分支        308
17.3.3  CException异常类分支        309
17.3.4  CGdiObject类分支        310
17.3.5  套接字类分支        310
17.4  非CObject派生类        311
17.4.1  简单类型类        311
17.4.2  Internet Server API类        311
17.5  小结        312
第四篇  自动化、COM和OLE
第18章  自动化        313
18.1  什么是VBA        313
18.2  VBA与C++组件        313
18.3  自动化接口        314
18.4  MFC自动化组件        315
18.5  实例18.1-MFC自动化的使用        316
18.5.1  创建MFC DLL自动化项目        316
18.5.2  添加自动化类和成员函数        316
18.5.3  在Windows中注册自定义的dll动态链接库        320
18.5.4  使用非VC应用程序调用自定义dll        320
18.5.5  实例小结        321
18.6  VARIANT类型        322
18.7  封装VARIANT类型：COleVariant类        323
18.8  实例18.2-使用Excel自动化的实例        325
18.8.1  准备工作：创建MFC        325
18.8.2  加入自动化代码        326
18.8.3  添加组件类        326
18.8.4  编写客户端宏脚本        329
18.9  小结        330
第19章  组件对象模型（COM）        331
19.1  什么是COM        331
19.2  COM接口        332
19.3  实例-COM的使用        333
19.3.1  使用VC6.0创建ATL COM应用程序        334
19.3.2  创建新的ATL对象        335
19.3.3  实现_IDTExtensibility2接口        335
19.3.4  通知Office并加载组件接口        337
19.3.5  导入Office接口文件        338
19.3.6  完成功能代码        338
19.3.7  运行效果和小结        340
19.4  COM的包容、集合和继承        341
19.5  小结        341
第20章  OLE DB        342
20.1  OLE DB 对象模型        342
20.2  OLE DB模板的基本结构        343
20.3  OLE DB客户数据库访问的两种途径        344
20.3.1  以MFC AppWizard（exe）为向导建立OLE DB客户程序框架        344
20.3.2  以ATL COM AppWizard为向导建立OLE DB客户程序框架        346
20.4  小结        348
第五篇  软件研发实践
第21章  数据库编程基础        349
21.1  数据库开发技术简介        349
21.1.1  常用的几种数据库管理系统DBMS        349
21.1.2  关系代数与数据库SQL语言        350
21.1.3  规范化和数据库表设计常见的问题        352
21.1.4  ODBC、DAO和ADO技术简介        353
21.2  在VC6.0中使用ODBC进行数据库连接        353 
21.2.1  ODBC概述        354
21.2.2  ODBC类的使用        354
21.2.3  ODBC数据库操作        356
21.3  在VC6.0中使用ADO进行数据库连接        357
21.3.1  ADO概述        357
21.3.2  ADO连接应用        357
21.3.3  ADO数据库操作        359
21.4  小结        361
第22章  数据库研发实践：家庭财务管理系统        362
22.1  提出问题：设计一个家庭财务管理系统        362
22.1.1  概要功能        362
22.1.2  界面需求        362
22.2  数据库设计        363
22.2.1  数据关系分析        363
22.2.2  E-R图设计        364
22.2.3  数据库表的生成        365
22.3  算法设计        366
22.3.1  连接数据库        366
22.3.2  添加数据        367
22.3.3  修改数据库内容        368
22.3.4  统计数据库信息        368
22.4  软件项目开发过程        368
22.4.1  开发家庭财务管理系统项目的流程        368
22.4.2  根据E-R图创建数据库表        368
22.4.3  功能研发的准备工作        371
22.4.4  实现算法设计        374
22.4.5  测试        377
22.5  小结        378
第23章  网络编程基础        379
23.1  TCP/IP简介        379
23.2  Windows Sockets基础        380
23.2.1  套接字概述        381
23.2.2  WinSock API常用函数        381
23.2.3  MFC对WinSock API的封装        382
23.3  B/S模式和C/S模式        382
23.3.1  什么是B/S和C/S模式        382
23.3.2  C/S与B/S的区别        383
23.4  局域网技术        384
23.4.1  网卡地址        384
23.4.2  获取计算机名称和IP        384
23.5  信息打包和发送        385
23.6  小结        386
第24章  网络编程研发实践：即时通信软件        387
24.1  网络编程实例：即时通信系统        387
24.1.1  功能需求        387
24.1.2  项目系统模型        388
24.1.3  系统设计思路        388
24.1.4  功能分析和设计难点        389
24.1.5  设计难点的解决方案        391
24.2  软件项目开发过程：服务器端应用程序        392
24.2.1  创建一个支持套接字的MFC服务器端程序        392
24.2.2  实现界面设计        393
24.2.3  定义类设计        394
24.2.4  实现类设计中的函数        396
24.2.5  实现界面功能按钮        403
24.2.6  测试        406
24.3  软件项目开发过程：客户端应用程序        407
24.3.1  创建一个支持套接字的MFC客户端程序        407
24.3.2  实现界面设计        407
24.3.3  定义类设计和实现类设计中的函数        408
24.3.4  实现界面功能按钮        408
24.3.5  测试        410
24.4  小结        410
第25章  仿3D游戏开发：推箱子游戏        411
25.1  目前的PC游戏种类简介        411
25.2  仿3D游戏：推箱子游戏开发的基础和概要设计        411
25.2.1  Win32 SDK程序基础        412
25.2.2  需求分析        413
25.2.3  游戏规则和效果        413
25.2.4  技术难点的解决方案        414
25.3  游戏项目开发过程        414
25.3.1  创建Win32应用程序        415
25.3.2  类设计        415
25.3.3  地图设计和读取        417
25.3.4  类的实现        418
25.3.5  Win32应用程序消息处理和场景显示        420
25.4  小结        422
附录  VC操作小技巧        423