新书推荐 VC++

把脉VC++




【作  者】白乔;左飞 [同作者作品]
【丛 书 名】 C/C++开发专家
【出 版 社】 电子工业出版社 【书 号】 9787121086175
【上架时间】 2009-7-10
【出版日期】 2009 年7月 【开 本】 16开 【页 码】 663

样章试读及网上购买:http://www.china-pub.com/195701&ref=ps

【编辑推荐】
着重介绍Visual C++的关键技术.
通过对本书的学习,可以帮助读者快速掌握Visual C++的编程技巧及编程思想。.
随书所附光盘包含书中实例源文件。.

【内容简介】
本书着重介绍Visual C++的关键技术,即Visual C++程序员在实际工程开发中经常遇到的几大问题:数据的内存表达、数据的转换与处理、数据的持久化、数据的界面展现、数据的传输与交换方面的技术。全书内容主要包括:软件项目中的开发技术、关于Visual C++的话题、常见对象的表达、对象的赋值与转换、对象容器、使用文件存取对象、使用注册表存取对象、使用数据库存取对象、界面的布局、界面的绘制与交互、界面的美化、进程间对象的传输与调用、线程间对象的传输与调用、模块间对象的传输与调用、网络间对象的传输与调用等。通过对本书的学习,可以帮助读者快速掌握Visual C++的编程技巧及编程思想。.

随书所附光盘包含书中实例源文件。..

本书面向初、中级读者,适合于广大有志于学习Visual C++的读者,也适合作为高等院校相关专业师生的参考书,还可作为相关培训机构的教材。...


【目录】
第1篇 Visual C++速览
第1章 软件项目中的开发技术3
1.1 关于软件项目的话题3
1.2 软件项目的开发过程3
1.2.1 软件的开发过程3
1.2.2 排错(debug)6
1.2.3 原型(prototype)6
1.2.4 重构(refactor)7
1.3 软件架构及软件分层8
1.3.1 软件架构的原则8
1.3.2 C/S与B/S模式9
1.3.3 MVC模式11
1.3.4 文档/视图结构12
1.3.5 流行的三层结构12
1.4 在Visual C++项目中的
四大主脉技术13
1.4.1 对象的建模与表达14
1.4.2 对象的持久化14
1.4.3 对象的界面展现15
1.4.4 对象的传输与调用16
1.4.5 从QQ和MSN说起17
1.4.6 四大技术与三层结构23
1.5 回到客栈管理系统24
1.5.1 对象的建模与表达24
1.5.2 对象的持久化26
1.5.3 对象的界面展现28
1.5.4 对象的传输与调用29
1.6 本章小结33
第2章 关于Visual C++的话题35
2.1 Visual C++与C++35
2.1.1 Visual C++不是唯一的
C++编译器35
2.1.2 Visual C++不是唯一的
C++ IDE37
2.1.3 Visual C++及MFC/ATL
的版本39
2.1.4 备受争议的Visual C++40
2.1.5 Visual C++与boost、QT42
2.2 熟悉Visual C++ IDE43
2.2.1 文件、项目与解决方案44
2.2.2 Visual C++代码编辑器46
2.2.3 Visual C++资源编辑器47
2.2.4 Visual C++应用向导49
2.2.5 Visual C++调试器50
2.3 脱离Visual C++编写程序54
2.3.1 Dev-C++54
2.3.2 控制台程序的编写55
2.3.3 Windows程序的编写56
2.4 使用Visual C++编写程序61
2.4.1 Win32控制台程序的编写61
2.4.2 让控制台程序支持
MFC/ATL62
2.4.3 Win32窗口程序的编写65
2.4.4 MFC/ATL应用程序的编写71
2.4.5 CLR程序的编写78
2.5 茴字的N种写法79
2.5.1 使用Windows API80
2.5.2 使用C++标准库
(stdcpp)83
2.5.3 使用CRT
(C运行时期库)84
2.5.4 使用CRT库的宽字符版本87
2.5.5 使用CRT库的安全版本88
2.5.6 使用MFC/ATL89
2.5.7 使用C++/CLI91
2.5.8 该采用哪一种写法92
2.6 Visual C++伴侣93
2.6.1 源代码93
2.6.2 MSDN与MSDN库95
2.6.3 Visual Studio Tools97
2.6.4 Visual Assist X98
2.6.5 Visual C++资源网站99
2.7 本章小结101


第2篇 Visual C++中对象的建模与表达
第3章 常见对象的表达105
3.1 C++基本类型105
3.1.1 原始类型105
3.1.2 复合类型106
3.1.3 自定义类型108
3.1.4 __intN110
3.1.5 <climits>110
3.2 字符与字符串111
3.2.1 <cctype>112
3.2.2 C-style字符串114
3.2.3 Windows字符类型115
3.2.4 <cstring>115
3.2.5 std::string117
3.2.6 ATL::CString120
3.3 日期与时间122
3.3.1 <ctime>123
3.3.2 ATL::CTime与ATL::
CTimeSpan124
3.3.3 ATL::COleDateTime与
ATL::COleDateTimeSpan127
3.3.4 时间的格式化127
3.4 位置与尺寸129
3.4.1 POINT、SIZE、RECT129
3.4.2 ATL::CPoint、ATL::CSize、
ATL::CRect130
3.5 智能指针(smart pointer)131
3.5.1 std::auto_ptr131
3.5.2 ATL::CComPtr与
ATL::CComQIPtr133
3.6 Windows数据类型134
3.6.1 基本数据类型134
3.6.2 Windows句柄135
3.7 MFC对象模型138
3.7.1 MFC::CObject139
3.7.2 CObject与RTTI142
3.7.3 CRuntimeClass145

3.7.4 百般非议MFC148
3.8 MFC与ATL148
3.9 命名规则与名字危机149
3.10 本章小结151
第4章 对象的赋值与转换153
4.1 对象的初始化与赋值153
4.1.1 struct与class153
4.1.2 对象的初始化154
4.1.3 聚合(aggregate)154
4.1.4 对象的赋值155
4.1.5 sizeof及字节对齐155
4.1.6 内存块操作函数memxxx157
4.1.7 POD对象158
4.2 对象的类型转换(cast)160
4.2.1 隐式转换160
4.2.2 显式转换161
4.2.3 向上转换与向下转换163
4.2.4 变体VARIANT163
4.2.5 _variant_t、CComVariant与
COleVariant、CDBVariant166
4.3 对象的数值转换
(conversion)168
4.3.1 xtoy168
4.3.2 sprintf、sscanf168
4.3.3 std::stringstream170
4.4 数学运算171
4.4.1 <cmath>171
4.4.2 随机数173
4.4.3 复数std::complex173
4.5 字符与编码174
4.5.1 字节与字符175
4.5.2 ANSI、MBCS与
UNICODE175
4.5.3 TCHAR、_T与_TEXT177
4.5.4 strcpy、wcscpy与_tcscpy178
4.5.5 MessageBoxA、MessageBoxW
与MessageBox179
4.5.6 ATL::CStringT与std::basic
_string179
4.5.7 BSTR、_bstr_t与
ATL::CComBSTR180
4.5.8 字符串的长度181
4.5.9 字符的编码转换183
4.6 使用第三方库187
4.6.1 万能类型boost::any187
4.6.2 万能转换器
boost::lexical_cast189
4.6.3 有理数boost::rational191
4.7 本章小结192
第5章 对象容器193
5.1 常见容器193
5.1.1 向量(vector)193
5.1.2 列表(list)194
5.1.3 映射(map)195
5.1.4 集合(set)195
5.1.5 队列(queue)196
5.1.6 栈(stack)196
5.1.7 选择合适的集合197
5.2 C++标准容器198
5.2.1 std::vector199
5.2.2 std::list200
5.2.3 std::deque200
5.2.4 std::map、std::multimap201
5.2.5 std::set、std::multiset202
5.2.6 std::bitset203
5.2.7 std::queue、std:: priority
_queue204
5.2.8 std::stack205
5.3 泛型算法206
5.3.1 指示器206
5.3.2 函数对象207
5.3.3 泛型算法介绍210
5.4 MFC/ATL容器215
5.4.1 MFC::CArray217
5.4.2 MFC::CList218
5.4.3 MFC::CMap218
5.4.4 集合元素的遍历219
5.5 本章小结221
第3篇 Visual C++中对象的持久化
第6章 使用文件存取对象225
6.1 文件操作的几种方式225
6.1.1 使用CRT函数std::fxxx()225
6.1.2 使用标准C++库
std::fstream227
6.1.3 使用Windows API229
6.1.4 使用MFC::CFile232
6.1.5 文本文件与二进制文件234
6.2 使用文本文件存取对象236
6.2.1 文本内容的存取237
6.2.2 properties文件的读取237
6.2.3 INI文件的读取241
6.2.4 CSV文件的读取243
6.3 使用二进制文件存取对象247
6.3.1 文件指针的定位247
6.3.2 定长数据块的读写248
6.3.3 变长数据块的读写250
6.3.4 使用MFC::CArchive254
6.3.5 Windows资源文件的读取259
6.4 使用XML存取对象262
6.4.1 XML及其语法262
6.4.2 XML的解析方式264
6.4.3 使用MsXML存取XML266
6.4.4 使用ADO.NET
存取XML271
6.5 本章小结276
第7章 使用注册表存取对象277
7.1 注册表及其结构277
7.1.1 注册表的结构277
7.1.2 常见的注册表根键278
7.2 使用注册表API279
7.2.1 关于注册表操作的API279
7.2.2 使用Windows API
写注册表280
7.2.3 使用Windows API
读注册表282
7.3 使用CRegKey存取注册表286
7.3.1 ATL::CRegKey286
7.3.2 使用CRegKey写注册表287
7.3.3 使用CRegKey读注册表289
7.4 本章小结292
第8章 使用数据库存取对象293
8.1 数据库概述293
8.1.1 关系型数据库293
8.1.2 SQL语句295
8.1.3 常见数据库访问技术296
8.2 使用ODBC操纵数据库297
8.2.1 ODBC297
8.2.2 使用ODBC API298
8.2.3 使用MFC::CDatabase302
8.2.4 封装自己的Recordset304
8.3 使用DAO操纵数据库309
8.4 使用OLE DB操纵数据库313
8.4.1 OLE DB的结构313
8.4.2 OLE DB使用者模板314
8.4.3 使用OLE DB访问数据库315
8.4.4 使用ATL向导创建
OLE DB使用者318
8.5 使用ADO操纵数据库321
8.5.1 ADO是对象封装接口322
8.5.2 常见数据源的连接串322
8.5.3 使用ADODB组件323
8.5.4 使用ADODC控件326
8.6 使用ADO.NET操纵数据库330
8.6.1 ADO.NET与ADO330
8.6.2 ADO.NET的联机模式330
8.6.3 ADO.NET的脱机模式332
8.7 本章小结337
第4篇 Visual C++中对象的
界面展现
第9章 界面的布局341
9.1 常见界面元素341
9.1.1 窗口(Window)341
9.1.2 菜单(Menu)346
9.1.3 控制栏(Control Bar)349
9.1.4 客户区与非客户区358
9.1.5 位图与图标
(Bitmap、Icon)361
9.2 界面的静态布局363
9.2.1 使用对话框364
9.2.2 使用控件368
9.2.3 动态创建对话框和控件369
9.2.4 使用代码控制控件371
9.2.5 映射控件变量373
9.2.6 使用容器放置控件379
9.2.7 通用对话框383
9.2.8 使用Windows Forms386
9.3 界面的动态布局390
9.3.1 框架窗口390
9.3.2 文档/视图结构394
9.3.3 文档与文档模板396
9.3.4 视图与CView398
9.3.5 框架窗口都忙些什么399
9.3.6 拆分窗口401
9.4 系统托盘405
9.5 本章小结408
第10章 界面的绘制与交互409
10.1 窗口与绘图409
10.1.1 在DOS下画一个圈409
10.1.2 在Windows下画一个圈411
10.1.3 使用GDI绘制的假按钮414
10.1.4 创建真正的按钮415
10.1.5 使用GDI+绘图417
10.2 让界面交互起来420
10.2.1 一个假的控制台
消息系统420
10.2.2 真正的Windows
消息系统425
10.2.3 鼠标的3次不同点击428
10.3 MFC对消息机
制做了什么?430
10.3.1 消息映射
(Message Mapping)431
10.3.2 消息映射宏435
10.3.3 消息路由
(Message Route)436
10.3.4 消息反射
(Message Reflection)440
10.3.5 消息泵
(Message Pump)445
10.4 使用第三方库447
10.4.1 DirectX447
10.4.2 OpenGL450
10.4.3 Qt452
10.5 本章小结454
第11章 界面的美化457
11.1 界面美化的基本途径457
11.1.1 设定窗口样式
(Window Style)458
11.1.2 调用函数设定控件的
扩展样式462
11.1.3 调用函数设定颜色464
11.1.4 调用函数设定背景图465
11.2 重载消息进行界面自绘466
11.2.1 WM_PAINT466
11.2.2 OnDraw()与OnPaint()468
11.2.3 WM_ERASEBKGND468
11.2.4 =WM_CTLCOLOR470
11.2.5 =WM_DRAWITEM472
11.2.6 =WM_MEASUREITEM476
11.2.7 =NM_CUSTOMDRAW479
11.3 使用ActiveX控件
增强界面482
11.3.1 ActiveX控件的注册483
11.3.2 在对话框中引入控件484
11.3.3 将控件映射成变量486
11.3.4 常见ActiveX控件推荐488
11.4 使用第三方库491
11.4.1 Xtreme Toolkit与
BCGControlBar492
11.4.2 SkinMagic与换肤技术494
11.5 本章小结497
第5篇 Visual C++中对象的
传输与调用
第12章 进程间对象的传输与调用501
12.1 进程的操作501
12.1.1 进程及其常见操作501
12.1.2 关于进程操作的
CRT函数502
12.1.3 关于进程操作的
Windows API503
12.1.4 Windows进程的创建504
12.1.5 Windows进程的终止508
12.2 进程间的通信510
12.2.1 使用Windows消息
传输对象510
12.2.2 使用文件映射共享数据512
12.2.3 使用剪贴板传输对象518
12.2.4 使用匿名管道传输对象521
12.2.5 使用命名管道传输对象526
12.2.6 使用邮槽传输对象530
12.3 本章小结533
第13章 线程间对象的传输与调用535
13.1 线程的操作535
13.1.1 关于线程操作的
CRT函数535
13.1.2 关于线程操作的
Windows API536
13.2 MFC对线程操作的封装536
13.2.1 工作者线程537
13.2.2 带界面的工作者线程539
13.2.3 界面线程541
13.3 线程通信543
13.3.1 利用全局对象进行通信543
13.3.2 利用入口参数进行通信545
13.3.3 利用Windows消息
进行通信547
13.4 线程同步549
13.4.1 编写安全的售票程序550
13.4.2 同步对象CSyncObject553

13.4.3 利用临界区(Critical Section)
实现同步554
13.4.4 利用互斥体(Mutex)
实现同步556
13.4.5 利用信号量(Semaphore)
实现同步558
13.4.6 利用事件(Event)
实现同步559
13.4.7 CMultiLock 和
CSingleLock563
13.5 本章小结566
第14章 模块间对象的传输与调用569
14.1 静态库与动态链接库569
14.1.1 将mcd包装成mcd.lib569
14.1.2 将mcd包装成mcd.dll571
14.1.3 mcd.dll的调用574
14.1.4 显式调用与隐式调用576
14.1.5 将类封装成DLL578
14.2 ActiveX控件581
14.2.1 将mcd包装成mcd.ocx581
14.2.2 为mcd.ocx添加
SetNumbers方法586
14.2.3 为mcd.ocx添加
Direction属性589
14.2.4 在HTML中测试
McdOcx控件593
14.3 COM596
14.3.1 一个不是COM的
C++接口596
14.3.2 一个貌似COM的DLL601
14.3.3 真假COM609
14.3.4 使用ATL设计COM
组件611
14.3.5 在JavaScript中测试
COM组件615
14.3.6 使用COM API调用
COM组件616
14.3.7 使用#import方式调用
COM组件619
14.4 本章小结621
第15章 网络间对象的传输与调用623
15.1 使用Socket完成网络通信623
15.1.1 如何向网络上发送
一个比特?623
15.1.2 TCP/IP协议与
TCP、UDP624
15.1.3 Winsock与Winsock API625
15.1.4 用Socket实现C/S模式626
15.1.5 使用Winsock打造mcd的
网络版627
15.2 使用MFC::Csocket
完成网络通信632
15.2.1 Winsock与CAsyncSocket、
CSocket632
15.2.2 使用CSocket打造mcd的
网络版634
15.2.3 使用CSocket打造mcd的
UDP版638
15.2.4 使用CSocket事件640
15.2.5 使用CSocket连接
Web站点648
15.3 使用WinInet API完成
网络通信653
15.3.1 WinInet API与
WinInet类653
15.3.2 使用WinInet API连接
mcd的web版654
15.3.3 使用MFC::WinInet
类连接客栈的Web版658
15.4 本章小结663


.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值