
Visual C++完全自学手册
《VisualC++完全自学手册》是2009年机械工业出版社出版的图书,作者是古万荣。本书含有大量实例,详细描述实例开发过程和挖掘理论实践要点。
基本介绍
- 书名:Visual C++完全自学手册
- 作者:古万荣
- 页数:430页
- 出版社:机械工业出版社
- 出版时间:2009年1月1日
- 装帧:430
- 开本:16开
图书信息
丛书名: 编程红宝书
平装: 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++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
转载请注明出处海之美文 » Visual C++完全自学手册