图书介绍
Visual C++编程实战宝典PDF|Epub|txt|kindle电子书版本网盘下载
- 李琳娜编著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302347934
- 出版时间:2014
- 标注页数:811页
- 文件大小:158MB
- 文件页数:844页
- 主题词:C语言-程序设计
PDF下载
下载说明
Visual C++编程实战宝典PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1篇Visual C++开发基础2
第1章Visual Studio 2010集成开发环境2
1.1 Visual Studio 2010及其开发环境2
1.1.1 Visual Studio 2010的安装2
1.1.2 Visual Studio 2010开发环境3
1.1.3 Visual Studio 2010向导4
1.2工作区视图6
1.2.1解决方案视图6
1.2.2类视图6
1.2.3资源视图6
1.3资源与资源编辑器7
1.3.1资源的类型7
1.3.2资源编辑器8
1.4本章小结8
1.5习题8
第2章Visual Studio 2010基本应用程序的创建9
2.1使用AppWizard生成项目9
2.1.1解决方案与项目9
2.1.2使用App Wizard创建项目9
2.2 Win32控制台应用程序11
2.2.1使用向导生成Win32控制台项目11
2.2.2添加源文件11
2.2.3编译、链接程序12
2.2.4生成程序13
2.2.5运行程序13
2.3 MFC应用程序框架15
2.3.1创建MFC应用程序15
2.3.2认识文档/视图结构16
2.4本章小结17
2.5习题17
第3章C/C++语言基础18
3.1对标准C的扩展——C++18
3.2 C++语法元素19
3.2.1最小的元素——符号19
3.2.2注释规范20
3.2.3标识符命名规范21
3.2.4 C++预定义的关键字21
3.2.5标点符号22
3.2.6操作符22
3.2.7声明与定义24
3.3常量和变量25
3.3.1定义常量25
3.3.2常量成员函数28
3.3.3定义变量28
3.3.4代码的有效范围——作用域29
3.4数据类型31
3.4.1基本数据类型31
3.4.2数据类型的转换方式32
3.4.3数组33
3.4.4结构体34
3.4.5共用体34
3.4.6匿名共用体36
3.4.7枚举类型38
3.4.8用typedef定义类型39
3.4.9位域39
3.5运算符和表达式40
3.5.1算术运算符41
3.5.2赋值运算符41
3.5.3关系运算符43
3.5.4逻辑运算符44
3.5.5位运算符45
3.5.6三目运算符46
3.5.7增1和减1运算符47
3.5.8逗号运算符47
3.5.9 sizeof运算符48
3.5.10 new和delete49
3.5.11范围确定符50
3.5.12类成员访问符51
3.5.13成员指针操作符51
3.6控制语句52
3.6.1表达式语句、空语句和复合语句52
3.6.2选择语句53
3.6.3循环语句56
3.6.4跳转语句59
3.7函数61
3.7.1函数的定义和调用61
3.7.2带默认形参值的函数62
3.7.3函数的递归调用63
3.7.4内联函数64
3.7.5函数的重载65
3.8指针和引用65
3.8.1指针和指针变量65
3.8.2&和*运算符66
3.8.3指针和数组67
3.8.4指针和结构体67
3.8.5函数的指针传递68
3.8.6引用及函数的引用传递68
3.9预处理69
3.9.1宏定义69
3.9.2文件包含70
3.9.3条件编译71
3.10文件操作71
3.10.1打开文件71
3.10.2从文件读取数据72
3.10.3向文件写入数据72
3.10.4关闭文件73
3.10.5文件操作示例73
3.11本章小结74
3.12习题75
第4章C++面向对象程序设计76
4.1类和对象76
4.1.1从结构到类76
4.1.2定义类76
4.1.3定义对象78
4.1.4嵌套类79
4.2类成员及其特性79
4.2.1构造函数79
4.2.2析构函数81
4.2.3对象成员初始化82
4.2.4常类型(const)82
4.2.5使用this指针指向对象83
4.2.6类的作用域和对象的生存期84
4.2.7使用静态成员保存类的数据84
4.2.8友元函数和友元类85
4.3继承与派生88
4.3.1如何使用继承方法88
4.3.2派生类的构造函数和析构函数89
4.3.3实现多重继承91
4.3.4虚基类92
4.4多态和虚函数93
4.4.1使用虚函数实现派生类的通用功能93
4.4.2纯虚函数和抽象基类95
4.5重载运算符96
4.5.1运算符重载语法96
4.5.2可重载的运算符97
4.5.3重载赋值运算符98
4.6输入输出流库99
4.6.1 C++的输入输出99
4.6.2预定义输入/输出对象cout和cin100
4.6.3标准错误处理对象cerr100
4.6.4常用输入输出成员函数100
4.6.5常见文件流类101
4.6.6操作顺序文件102
4.6.7操作随机文件103
4.7 C++的模板机制105
4.7.1为什么需要模板105
4.7.2函数模板的使用106
4.7.3类模板的使用107
4.7.4模板与宏的对比108
4.7.5模板应用示例109
4.7.6 C++标准模板库STL简介110
4.8 C++实例——设计一个电子时钟111
4.9本章小结112
4.10习题112
第2篇 界面开发116
第5章Windows编程与MFC基础116
5.1 Windows编程116
5.1.1 Windows应用程序编程接口API116
5.1.2使用句柄标识窗口117
5.1.3输入事件产生的消息117
5.1.4 Windows句柄的数据类型118
5.2 Windows程序执行流程118
5.2.1入口函数WinMain()119
5.2.2注册窗体类119
5.2.3使用CreateWindow()创建窗口120
5.2.4使用消息循环响应用户输入120
5.2.5主窗体函数WinProc()121
5.2.6 Windows编程实例——设计一个电子时钟122
5.3 MFC基础124
5.3.1什么是微软基础类库MFC124
5.3.2 MFC类层次结构125
5.3.3 MFC全局函数126
5.4 MFC应用程序框架分析127
5.4.1 MFC的入口函数WinMain()127
5.4.2派生自CWinApp的应用程序对象128
5.4.3初始化应用程序的InitInstance()函数128
5.4.4框架程序的运行核心Run()函数130
5.5 MFC的消息映射130
5.5.1标准Windows消息130
5.5.2触发菜单/快捷键产生的命令消息131
5.5.3使用ON_MESSAGE宏自定义消息132
5.5.4注册系统消息132
5.6本章小结133
5.7习题133
第6章 菜单、工具栏和状态栏134
6.1菜单134
6.1.1菜单的种类及开发步骤134
6.1.2创建和编辑菜单134
6.1.3处理菜单命令消息135
6.1.4处理菜单更新消息136
6.1.5设置菜单项快捷键138
6.1.6创建与使用弹出式菜单138
6.1.7菜单类CMenu140
6.2工具栏141
6.2.1创建与编辑工具栏141
6.2.2设置工具栏停靠和浮动142
6.2.3设置工具提示143
6.2.4 CToolBar介绍144
6.3状态栏144
6.3.1创建状态栏144
6.3.2状态栏实例145
6.3.3 CStatusBar介绍147
6.4本章小结148
6.5习题148
第7章 使用Windows标准控件149
7.1 Windows标准控件149
7.1.1常用Windows控件149
7.1.2使用对话框编辑器创建控件150
7.1.3控件类的基类CWnd151
7.1.4控件的消息及其处理152
7.1.5创建控件对象153
7.2按钮154
7.2.1按钮简介154
7.2.2按钮类CButton155
7.2.3按钮的属性与消息155
7.2.4设定和获取按钮状态155
7.3静态控件与编辑控件155
7.3.1创建与使用静态控件156
7.3.2静态控件类CStatic156
7.3.3创建编辑控件157
7.3.4编辑控件类CEdit157
7.3.5编辑控件的消息158
7.3.6编辑控件的应用实例158
7.4单选按钮和复选框163
7.4.1单选按钮控件的创建164
7.4.2单选按钮控件的消息164
7.4.3复选框控件的创建165
7.4.4复选框控件的消息165
7.4.5单选按钮控件和复选框控件的实例165
7.5列表框和组合框166
7.5.1创建列表框167
7.5.2列表框类CListBox167
7.5.3列表框消息168
7.5.4列表框实例168
7.5.5创建组合框169
7.5.6组合框类CComboBox169
7.5.7组合框消息170
7.5.8组合框实例171
7.6微调控件、滑块控件和进度条控件171
7.6.1微调控件的创建和使用172
7.6.2创建和使用滑块控件172
7.6.3创建和使用进度条控件173
7.6.4编程实例173
7.7列表视图控件和树形视图控件174
7.7.1创建列表视图控件175
7.7.2列表视图控件类CListCtrl176
7.7.3列表视图控件的通知消息176
7.7.4创建树形视图控件176
7.7.5树形视图控件类CTreeCtrl176
7.7.6树形视图控件的消息177
7.7.7编程实例178
7.8 ActiveX控件178
7.8.1使用ActiveX控件178
7.8.2 ActiveX控件的结构178
7.8.3包装类179
7.8.4获取ActiveX控件的帮助信息179
7.8.5 Visual C++中的控件和组件库181
7.8.6 MFC程序中ActiveX控件的使用182
7.9本章小结183
7.10习题183
第8章MFC的一些常用类184
8.1字符串类(CString)184
8.1.1创建CString对象184
8.1.2 CString类的成员函数184
8.1.3 CString类的常用操作186
8.1.4 CString的格式化与类型转换188
8.1.5 CString使用实例190
8.2集合类191
8.2.1数组类191
8.2.2数组类的使用实例192
8.2.3链表类194
8.2.4链表类的使用实例195
8.3日期、时间类197
8.3.1 CTime类197
8.3.2格式化CTime对象198
8.3.3 CTimeSpan类199
8.3.4制作一个计时器199
8.4 MFC文件操作类——CFile200
8.4.1构造文件对象并打开文件200
8.4.2读写文件202
8.4.3定位文件202
8.4.4文件管理操作203
8.4.5文件操作实例204
8.5 MFC异常类205
8.5.1 MFC异常类简介205
8.5.2文件异常类CFileException206
8.5.3异常的捕获206
8.6本章小结208
8.7习题208
第9章 文档/视图结构应用程序209
9.1文档/视图结构分析209
9.1.1框架中的主要类209
9.1.2文档类、视图类核心函数211
9.1.3新建、保存和打开的实现214
9.1.4多文档应用程序框架214
9.2开发文档/视图结构应用程序215
9.2.1目标215
9.2.2创建基本程序框架216
9.2.3创建文档数据216
9.2.4绘图操作217
9.2.5文档序列化CArchive218
9.2.6让文档/视图结构支持滚动条219
9.3对话框分割与多视图应用222
9.3.1对话框分割基础知识222
9.3.2动态分割对话框的实现222
9.3.3多视图的实现223
9.4文档/视图应用程序实例224
9.5本章小结226
9.6习题226
第10章 对话框的应用228
10.1对话框概述228
10.1.1对话框工作方式228
10.1.2对话框的种类229
10.1.3创建与编辑对话框模板229
10.2对话框与程序连接230
10.2.1创建对话框类230
10.2.2为对话框类添加成员变量231
10.2.3 DDX和DDV机制233
10.2.4处理对话框控件通知消息236
10.3创建与显示对话框238
10.3.1创建模态对话框238
10.3.2创建非模态对话框239
10.3.3修改对话框背景颜色239
10.3.4关闭对话框240
10.4属性表对话框241
10.4.1属性表对话框的运行机制241
10.4.2属性表对话框的创建241
10.5消息对话框与公用对话框242
10.5.1消息对话框实例243
10.5.2颜色对话框实例244
10.5.3文件对话框实例245
10.5.4字体对话框实例246
10.5.5查找、替换对话框实例247
10.5.6打印对话框实例247
10.6本章小结248
10.7习题249
第3篇 数据库开发252
第11章 数据库开发概述252
11.1数据库简介252
11.1.1数据库发展史概述252
11.1.2数据库常见概念253
11.1.3数据库的作用253
11.1.4数据库管理系统(DBMS)254
11.1.5数据库常见4种数据模型254
11.1.6数据库的体系结构256
11.1.7关系数据库256
11.1.8数据库的开发过程257
11.2规范化理论258
11.2.1为什么需要规范化258
11.2.2数据依赖258
11.2.3范式介绍260
11.3 E-R模型262
11.3.1 E-R模型元素263
11.3.2 E-R设计264
11.4结构化查询语言SQL265
11.4.1 SQL语言概述265
11.4.2 SQL数据定义语句DDL266
11.4.3 SQL数据操纵语句DML268
11.4.4 SQL数据控制语句DCL269
11.4.5操作视图270
11.5 Visual C++数据库接口271
11.5.1面向对象技术271
11.5.2 Windows平台下的数据访问接口271
11.5.3 Visual C++数据访问接口273
11.5.4用Visual C++访问数据库的优点274
11.6本章小结274
11.7习题275
第12章Visual C++中SQL Server访问技术276
12.1 SQL Server 2008简介276
12.1.1 SQL Server 2008介绍276
12.1.2 SQL Server 2008的工具277
12.1.3 SQL Server 2008配置管理器277
12.1.4 SQL Server Management Studio278
12.2创建SQL Server 2008对象279
12.2.1创建用户数据库280
12.2.2创建和管理表281
12.2.3创建和管理视图282
12.2.4创建和管理存储过程283
12.3 ADO访问技术284
12.3.1 ADO模型284
12.3.2 ADO数据库访问步骤分析286
12.4使用ADO访问数据库实例286
12.4.1 ADO连接SQL Server数据库287
12.4.2 ADO读取数据库表记录288
12.4.3 ADO写入数据库表记录290
12.4.4 ADO删除数据库表记录291
12.5本章小结292
12.6习题292
第13章Visual C++中ODBC访问技术293
13.1 ODBC API293
13.1.1 ODBC体系结构293
13.1.2 ODBC数据类型294
13.1.3 ODBC句柄与返回值295
13.1.4ODBC驱动和管理器296
13.1.5配置ODBC数据源297
13.2用ODBC API操作数据库实例299
13.2.1操作数据库的一般步骤299
13.2.2连接数据库300
13.2.3读取数据库表记录301
13.2.4添加、删除记录302
13.2.5断开数据库连接302
13.2.6 ODBC API封装类实例303
13.3用MFC ODBC类操作数据库309
13.3.1连接数据库——CDatabase类309
13.3.2选择和操作记录——CRecordset类310
13.3.3在窗体中显示和操作数据——CRecordView类312
13.3.4异常处理——CDBException类312
13.3.5断开数据源连接312
13.3.6 MFC ODBC操作数据库实例313
13.4自动注册DSN317
13.5本章小结318
13.6习题318
第14章Visual C++中OLE DB访问技术319
14.1 OLE DB简介319
14.1.1什么是OLE DB319
14.12 OLE DB和ODBC之间的关系320
14.2 Visual C++中的OLE DB类320
14.2.1数据库连接类CDataSource320
14.2.2数据库访问会话类Csession321
14.2.3记录集类CrowSet321
14.2.4 数据表CTable322
14.3 Visual C++的OLE DB应用实例323
14.3.1创建应用程序323
14.3.2显示数据库表324
14.3.3显示表定义326
14.4本章小结329
14.5习题330
第15章Visual C++中MySQL访问技术331
15.1 MySQL C API331
15.1.1 MySQL C API的数据类型331
15.1.2 MySQL C API 函数333
15.1.3应用程序实例335
15.1.4 CDatabase类的实现337
15.1.5应用CDatabase类339
15.2本章小结340
15.3习题340
第4篇 网络编程342
第16章Windows套接字编程342
16.1常见概念342
16.1.1 Windows Sockets规范342
16.1.2套接字及其分类342
16.1.3客户端/服务器(C/S)模型343
16.1.4网络字节顺序344
16.2套接字库函数346
16.2.1套接字函数346
16.2.2数据库函数347
16.2.3 Windows扩展函数349
16.3使用WinSock API350
16.3.1基本Socket系统调用350
16.3.2 Windows Sockets编程机理352
16.3.3面向连接的套接字编程353
16.3.4无连接套接字编程354
16.3.5原始套接字编程355
16.4 MPC对WinSock API的封装356
16.4.1 CAsyncSocket类356
16.4.2使用CAsyncSocket类356
16.4.3 CSocket类357
16.4.4使用CSocket类357
16.5MFC Socket实例359
16.6本章小结363
16.7习题363
第17章 邮槽与管道364
17.1邮槽364
17.1.1实施细节364
17.1.2邮槽服务器365
17.1.3邮槽客户端366
17.1.4其他功能函数366
17.1.5邮槽应用示例366
17.2匿名管道368
17.2.1匿名管道的实施细节368
17.2.2匿名管道应用示例369
17.3命名管道370
17.3.1命名管道技术概述371
17.3.2命名规范及通信模式371
17.3.3使用命名管道372
17.3.4其他功能函数373
17.3.5命名管道实例374
17.4本章小结377
17.5习题377
第18章 通信端口编程378
18.1串行端口通信编程378
18.1.1 Windows环境下的串口编程378
18.1.2设定串口参数379
18.1.3数据流控制参数381
18.1.4申请串口资源383
18.1.5同步I/O读写数据385
18.1.6使用事件驱动机制386
18.1.7异步I/O读写数据387
18.1.8 MS Comm串行通信控件388
18.2通信端口编程实例391
18.2.1串口线程初始化391
18.2.2串口接收线程392
18.2.3打开和关闭串口393
18.2.4向串口发送数据395
18.2.5界面处理395
18.3本章小结398
18.4习题398
第19章Internet编程399
19.1 WinInet编程399
19.1.1 WinInet API概述399
19.1.2 WinInet常用类概览400
19.1.3超文本传输协议HTTP编程403
19.1.4文件传输协议FTP编程405
19.1.5网际Gopher协议编程407
19.2 ISAPI编程408
19.2.1 ISAPI概述408
19.2.2 ISAPI服务器扩展程序409
19.2.3使用应用向导开发ISAPI服务器扩展程序411
19.2.4调试ISA412
19.2.5 ISAPI过滤程序413
19.3 MAPI编程415
19.3.1 MAPI体系结构概述415
19.3.2 MAPI应用程序接口416
19.3.3使用MAPI编写支持电子邮件的程序417
19.4本章小结419
19.5习题419
第5篇 系统编程422
第20章 系统相关功能开发422
20.1获取磁盘信息422
20.1.1获取驱动器卷标422
20.1.2获取磁盘序列号423
20.1.3检测软驱是否有软盘424
20.1.4判断是否插入存储器425
20.1.5判断光驱是否有光盘427
20.1.6判断驱动器类型428
20.1.7获取磁盘空间信息429
20.2操作磁盘430
20.2.1格式化磁盘431
20.2.2关闭磁盘共享432
20.2.3设置磁盘卷标434
20.2.4磁盘碎片整理434
20.2.5从FAT32转换为NTFS435
20.2.6隐藏磁盘分区436
20.2.7显示被隐藏的磁盘分区437
20.2.8如何更改分区号438
20.2.9如何监视硬盘439
20.3系统控制与调用440
20.3.1调用外部程序441
20.3.2调用创建快捷方式向导442
20.3.3访问启动控制面板中的各项442
20.3.4控制光驱的弹开与关闭444
20.3.5关闭、重启、注销和锁定计算机445
20.3.6关闭和打开显示器446
20.3.7打开和关闭屏幕保护447
20.3.8关闭当前输入法447
20.3.9让程序发出提示音447
20.3.10列举系统中的可执行文件448
20.4应用程序操作450
20.4.1禁止程序重复运行450
20.4.2如何确定应用程序没有响应451
20.4.3检索任务管理器中的任务列表452
20.4.4判断某个程序是否运行453
20.4.5怎样在程序中执行DOS命令454
20.4.6修改其他进程中对话框的标题455
20.4.7如何设计换肤程序455
20.4.8 PE档案格式分析457
20.4.9修改应用程序图标458
20.4.10列举应用程序使用的dll文件459
20.4.11调用具有命令行参数的应用程序460
20.4.12在程序中调用一个子进程直到结束461
20.5系统工具462
20.5.1为程序添加快捷方式462
20.5.2显示系统正在运行的程序463
20.5.3如何获得毫秒级时间465
20.5.4注册和卸载组件465
20.5.5清空回收站467
20.5.6如何在程序中显示文件属性对话框468
20.6桌面相关469
20.6.1获取桌面对话框469
20.6.2获取任务栏对话框句柄470
20.6.3获取桌面列表视图句柄471
20.6.4获取任务栏属性471
20.6.5隐藏和显示桌面图标472
20.6.6隐藏和显示Windows任务栏473
20.6.7隐藏和显示“开始”按钮474
20.6.8隐藏和显示任务栏时钟475
20.6.9判断屏幕保护程序是否在运行476
20.6.10判断系统是否使用大字体477
20.6.11改变桌面背景颜色478
20.7系统信息479
20.7.1获取CPU ID值479
20.7.2获取CPU时钟频率480
20.7.3获得Windows和System的路径481
20.7.4获取特殊文件夹路径482
20.7.5检测系统启动模式484
20.7.6判断操作系统类型485
20.7.7获取当前系统的运行时间486
20.7.8如何获取Windows 7系统启动时间487
20.7.9获取处理器信息487
20.7.10检测是否安装声卡489
20.7.11获取当前用户名490
20.7.12获取系统环境变量490
20.7.13修改计算机名称491
20.7.14获取当前屏幕颜色质量492
20.7.15获得当前屏幕的分辨率492
20.8消息493
20.8.1如何自定义消息493
20.8.2如何向Windows注册消息494
20.8.3 PostMessage()函数和SendMessage()函数的区别496
20.8.4利用WM COPYDATA消息实现进程间数据传递496
20.9剪贴板498
20.9.1列举剪贴板中数据类型498
20.9.2监视剪贴板复制过的内容499
20.9.3通过剪贴板传递全局数据501
20.10鼠标键盘502
20.10.1交换鼠标左右键502
20.10.2设置鼠标双击的时间间隔503
20.10.3获得鼠标键数504
20.10.4获取鼠标下窗体句柄505
20.10.5模拟鼠标单击按钮505
20.10.6在程序中添加快捷键507
20.10.7在对话框中使用加速键507
20.10.8处理鼠标滚轮消息509
20.10.9获取键盘按键510
20.10.10获取键盘类型及功能号511
20.10.11控制键盘指示灯512
20.11本章小结514
20.12习题514
第21章 注册表、INI和XML文件515
21.1读写注册表的API函数515
21.1.1注册表的概念515
21.1.2创建带安全属性的注册表项516
21.1.3创建注册表项517
21.1.4打开注册表项518
21.1.5判断注册表项是否存在519
21.1.6删除注册表项519
21.1.7打开注册表根项520
21.1.8指定注册表项的默认值521
21.1.9设置注册表键值522
21.1.10快速设置注册表键值字符串523
21.2注册表应用524
21.2.1保存注册表项524
21.2.2开机自动运行526
21.2.3隐藏和显示我的电脑526
21.2.4隐藏和显示回收站527
21.2.5隐藏显示所有驱动器528
21.2.6禁止“查找”菜单529
21.2.7禁止“文档”菜单529
21.2.8在退出Windows时清除“文档”中的记录530
21.2.9禁用注册表编辑器531
21.2.10禁止使用inf文件532
21.2.11禁止使用reg文件532
21.2.12显示隐藏文件或文件夹533
21.3读写注册表的ATL类534
21.3.1使用CRegKey类写入默认键值534
21.3.2使用CRegKey类写入新键值535
21.3.3使用CRegKey类查询键值536
21.4注册表的查询与枚举537
21.4.1查询注册表键值537
21.4.2快速查询注册表键值538
21.4.3枚举注册表键值539
21.4.4列举开机启动程序539
21.4.5枚举注册表项540
21.4.6枚举安装程序541
21.5 INI文件的读写函数542
21.5.1向指定键写入字符串542
21.5.2获取指定键下的整型数据544
21.5.3获取指定键下的字符串数据544
21.5.4向INI文件写入结构数据545
21.5.5获取INI文件结构数据546
21.5.6向指定节写入数据547
21.5.7获取所有节名548
21.5.8获取指定节的键名及数据549
21.6 XML文件操作551
21.6.1 XML文件简介551
21.6.2 XML文件的优势551
21.6.3读取XML文件内容552
21.6.4向XML文件中写入内容553
21.7本章小结554
21.8习题554
第22章 动态链接库编程556
22.1基本概念556
22.1.1动态链接库的概念556
22.1.2动态链接库的优点557
22.1.3 DLL的种类558
22.1.4 DLL文件的组成559
22.2 DLL的创建与使用实例559
22.2.1创建Win32 DLL560
22.2.2 DLL的导出561
22.2.3应用程序链接DLL562
22.2.4动态链接库函数563
22.2.5从动态库中获取位图资源565
22.2.6枚举模块中的所有图标567
22.2.7使用模块对话框资源569
22.2.8替换应用程序的对话框资源569
22.2.9屏蔽键盘Power键571
22.2.10屏蔽键盘Win键573
22.2.11禁止使用<Alt+F4>组合键关闭窗体573
22.3 MFC常规DLL的创建与使用实例573
22.3.1基本概念574
22.3.2创建MFC常规DLL574
22.3.3 MFC常规DLL的创建实例575
22.3.4调用MFC常规DLL576
22.4 MFC扩展DLL的创建与使用实例577
22.4.1创建MFC扩展DLL577
22.4.2 MFC扩展DLL的创建实例578
22.4.3调用MFC扩展DLL578
22.5 DLL的查看与调试579
22.5.1使用Depends工具查看DLL接口579
22.5.2调试DLL580
22.6本章小结580
22.7习题580
第23章 多线程编程582
23.1引入多线程582
23.1.1单线程的不足582
23.1.2解决的问题583
23.2进程和线程583
23.2.1 Spy++583
23.2.2多线程Win32 API585
23.2.3 MFC对多线程编程的支持586
23.3开发多线程程序586
23.3.1使用Win32 API函数开发586
23.3.2 MFC用户界面线程的开发587
23.3.3 MFC工作者线程的开发588
23.3.4挂起线程590
23.3.5终止线程591
23.3.6使线程睡眠592
23.3.7启动和关闭记事本593
23.3.8调用记事本程序并挂起595
23.3.9监测记事本程序关闭595
23.4线程间的通信596
23.4.1使用全局变量596
23.4.2使用自定义的消息597
23.5线程的同步598
23.5.1等待函数599
23.5.2利用事件对象600
23.5.3使用事件对象实例601
23.5.4利用临界区602
23.5.5利用临界区实例603
23.5.6利用信号量604
23.5.7利用信号量实例605
23.5.8利用互斥对象607
23.5.9利用互斥对象实例607
23.6多线程程序实例609
23.7本章小结611
23.8习题611
第6篇 多媒体开发614
第24章 文本字体技术614
24.1字体对象614
24.1.1字体要素614
24.1.2创建字体对象615
24.1.3获取字体信息616
24.1.4字体对象使用实例617
24.2字体效果617
24.2.1如何设计空心字617
24.2.2渐变颜色的字体618
24.2.3获取路径信息点619
24.2.4文字跟随鼠标620
24.2.5如何实现旋转字体620
24.2.6文字水平滚动621
24.2.7字体垂直滚动622
24.2.8设计3D立体文字623
24.3本章小结624
24.4习题624
第25章 图形与图像编程(教学视频:109分钟)625
25.1位图和区域对象625
25.1.1设备相关位图(DDB)625
25.1.2 CBitmap应用实例626
25.1.3设备无关位图(DIB)627
25.1.4区域对象(CRgn)627
25.1.5 CRgn应用实例628
25.2画笔和画刷629
25.2.1使用画笔对象629
25.2.2使用画笔绘图实例630
25.2.3使用画刷对象631
25.2.4使用画刷绘图实例631
25.3图像基础技术632
25.3.1如何使用GDI+632
25.3.2如何创建含有位图的画刷633
25.3.3保存屏幕抓图文件634
25.3.4利用内存画布防止绘图时出现屏幕闪烁635
25.3.5创建几何画笔636
25.3.6绘制网格637
25.3.7创建不同的画刷638
25.3.8填充矩形区域639
25.3.9模拟时钟640
25.3.10颜色渐变算法642
25.3.11如何绘制渐变颜色643
25.3.12图元文件的保存与打开644
25.3.13图像居中显示645
25.3.14图片融合效果646
25.3.15保存设备上下文647
25.4特殊曲线648
25.4.1绘制蜗牛线648
25.4.2绘制贝塞尔曲线649
25.4.3绘制正弦曲线650
25.5图像特效651
25.5.1图像锐化处理652
25.5.2图像柔化处理653
25.5.3图像反色处理654
25.5.4图像灰度处理655
25.5.5图像浮雕效果657
25.5.6图像翻转658
25.5.7图像缩放659
25.58图片剪切659
25.5.9图片马赛克效果660
25.5.10垂直百叶窗显示图片662
25.5.11水平百叶窗显示图片663
25.6图像控制664
25.6.1在图片上绘制线条664
25.6.2在图片上绘制网格665
25.6.3打开高颜色质量图像665
25.6.4创建最顶层窗体666
25.6.5在视图中拖动图片667
25.6.6屏幕截图669
25.6.7保存屏幕图像到剪贴板670
25.6.8获取图像RGB值670
25.6.9渐隐渐显的图像671
25.6.10保留椭圆中图片内容673
25.6.11去除椭圆下的图片内容674
25.7本章小结676
25.8习题676
第26章 声音与动画编程677
26.1多媒体声音控制677
26.1.1录制与播放声音677
26.1.2可以选择曲目的CD播放器680
26.1.3控制音量681
26.1.4利用PC喇叭播放声音682
26.1.5定时播放WAV文件682
26.1.6播放MIDI文件683
26.1.7开发具有记忆功能的MP3播放器683
26.2多媒体应用684
26.2.1滚动字体作屏保684
26.2.2相册作屏保686
26.2.3设计画图程序687
26.3动画效果688
26.3.1标题栏动画图标689
26.3.2实现图标动画689
26.3.3系统托盘动态图标690
26.4多媒体文件的播放691
26.4.1播放GIF动画692
26.4.2播放Flash动画693
26.4.3播放VCD693
26.4.4显示JPEG图像694
26.5本章小结696
26.6习题696
第27章DirectX图形开发697
27.1 DirectX SDK697
27.1.1 DirectX SDK的安装697
27.1.2 Visual Studio 2010中的相应设置698
27.2 DirectX 9.0介绍701
27.2.1 DirectX组件介绍701
27.2.2使用COM701
27.3 DirectX图形开发基本概念702
27.3.1世界坐标系702
27.3.2摄影坐标系702
27.3.3剪裁和透视投影703
27.3.4视口变换和像素的光栅显示703
27.3.5显示卡的3D渲染管道线704
27.4基本三角形面的绘制705
27.4.1 DirectX Graphics基本应用架构705
27.4.2创建IDirect3D9接口对象706
27.4.3创建Direct3D设备706
27.4.4创建顶点缓冲区707
27.4.5启动管道流水线进行渲染708
27.4.6实例——绘制一个基本的三角形面709
27.5基本立体面的绘制712
27.5.1 3D原始类型712
27.5.2背面剔除和顶点顺序715
27.5.3顶点索引缓冲区716
27.5.4在世界坐标系中放置物体716
27.5.5架设摄影机进行取景和投影717
27.5.6屏幕视口的设置717
27.5.7实例——绘制一个基本的立体面717
27.6材质和光照处理721
27.6.1颜色与光照721
27.6.2光源设置723
27.6.3点光源723
27.6.4聚焦光源724
27.6.5方向光源724
27.6.6材质设置724
27.6.7顶点的法向量725
27.7纹理贴图726
27.7.1顶点的纹理坐标726
27.7.2创建纹理对象727
27.7.3纹理过滤技术729
27.7.4纹理地址模式729
27.8 Alpha颜色混合730
27.8.1颜色混合原理730
27.8.2 Alpha颜色混合例子731
27.8.3利用ID3DXSprite实现颜色透明732
27.8.4利用Alpha测试实现颜色透明733
27.9 XFile网格的应用734
27.9.1 .x文件的基本格式734
27.9.2 .x文件的数据装入737
27.9.3 Mesh数据的处理738
27.9.4 Mesh数据的优化738
27.10本章小结739
27.11习题739
第7篇 项目开发实战742
第28章 网络音频播放系统742
28.1系统分析与设计742
28.1.1功能描述742
28.1.2功能模块设计742
28.2界面实现743
28.2.1界面设计743
28.2.2界面初始化744
28.2.3界面代码745
28.3核心实现751
28.3.1线程同步类751
28.3.2音频驱动函数752
28.3.3 CAudioPlay类的声明755
28.3.4音频播放器初始化757
28.3.5音频采样处理758
28.3.6音频输出实现762
28.3.7打开音频文件763
28.3.8停止音频播放766
28.3.9暂停音频和继续音频767
28.3.10获取音频属性767
28.4程序运行效果770
28.5本章小结770
第29章GPS定位系统771
29.1 GPS监控系统概况771
29.1.1 GPS监控系统概述771
29.1.2 GPS监控系统的系统架构771
29.2 GPS数据通信协议NEMA0183协议774
29.2.1配置参数及协议格式774
29.2.2 NEMA0183标准语句774
29.2.3 GARMIN定义的语句777
29.2.4NEMA0183协议的TEXT文本格式778
29.3串口接收GPS信息程序设计779
29.3.1实例背景780
29.3.2GPS模块与串口的通信协议780
29.3.3程序功能780
29.3.4界面设计780
29.3.5结构声明782
29.3.6初始化操作786
29.3.7GPS数据接收的实现方法788
29.3.8 GPS数据解析的实现方法791
29.3.9多线程串口工作方式799
29.3.10发送命令806
29.3.11结束清理808
29.3.12地图支持808
29.3.13程序测试截图810
29.4本章小结811