商家名称 |
信用等级 |
购买信息 |
订购本书 |
|
|
VisualC++技术内幕(第4版)(修订版)(配CD光盘1张) |
|
|
|
VisualC++技术内幕(第4版)(修订版)(配CD光盘1张) |
|
基本信息·出版社:清华大学出版社
·页码:814 页
·出版日期:2009年04月
·ISBN:7302197210/9787302197218
·条形码:9787302197218
·版本:第4版
·装帧:平装
·开本:16
·正文语种:中文
内容简介 《VisualC++技术内幕(第4版)修订版》从对Windows、Visual C++和应用程序框架的技术性概述入手,讨论了下列课题:基础知识——事件处理,GDI,对话框,内存管理,SDI口MDI,打印,以及帮助;高级课题——多线程,DIB,ODBC,DLL;ActiveX——创建文档对象和ActiveX控件,COM,自动化,使用支持COM的各种向导和编译器扩展;Internet的C++编程——Windows,MFC WinInet,以及为Microsoft Internet Information Server进行ISAPI扩展编程。一位经验丰富的权威人士将深入指导您如何利用流行的Microsoft开发平台上的编程向导和工具进行32位Windows编程。在前三版的基础上,《VisualC++技术内幕(第4版)修订版》向读者详尽地介绍了Visual C++开发系统和复杂的32位Windows编程技术,全面诠释了Microsoft的这个强大而复杂的开发工具的功能。
作者简介 (美)小克鲁格林斯基(David Kruglinski),是一位自学成才的、杰出的程序设计员、作家、教师和户外活动家。 自从1966年加入Purdue大学,他就开始了程序设计生涯;1976年他的一位朋友从垃圾箱中发现了一块8080板,从那以后他就开始针对微机编写应用程序。 《Visual C++技术内幕》是David的第五本书。l992年他为Microsoft出版社写了该书的第一版。该书赢得了很大的成功并受到了读者的广泛欢迎。作为最畅销的书,该书现在已经到第四版了;在为Microsoft出版社写作之前,David编写了四本书,涉及的内容从微机数据库管理系统一直到PC通信。 由于他在写作和程序设计方面的出色表现,1991年中期他与Microsoft基本类库(MFC)1.0版本的文档小组建立了正式合约关系。在大多数MFC参考材料,特别是对一些基本类如CStrin9等的说明中,我们不难看到David的精辟论述。当1992年Microsoft C/C++7.0正式推出时,他离开了Microsoft语言开发小组,专门从事《Visual C++技术内幕》的写作。 David被公认为MFC和Visual C++语言这两方面技术的权威。他成功地发起组织了软件工具研究小组,并兼作Microsoft Visual C++的顾问和指导。他经常驾驶着他的滑翔机,在各地授课、做报告、参加会议等。David通过与Microsoft的密切合作,紧密跟踪着最新的软件发展方向。他经常去拜访Visual C++开发小组的成员,从而得以不断跟踪新的发展,并深入研究MFC中的一些新技术,如OLE、数据库和Internet等。 作为一个周游世界的旅行家和户外活动爱好者,David经常徒步旅行和爬山,他从不闲着。从80年代后期他开始滑翔机运动,在过去的几年中,作为一个优秀的飞行员,他赢得了国际级的名誉。David是一个大胆的、非传统的飞行员,他时而翱翔在高山上,时而低飞在山谷中,充分领略了从欧洲到北美洲的壮观美景。他不断刷新新的记录,包括空中停留时间、旅行距离、飞行高度。 “顺风去吧,Dave。”1997年4月17日,Kruglinski在华盛顿州Okanogan郡Methow峡谷飞行时不圭遇难紤年49岁。
编辑推荐 《VisualC++技术内幕(第4版)修订版》用较多的篇幅介绍了ActivcX技术,通过这部分内容,读者不仅可领略到ActiveX技术的概貌,还可以学习一些深入的程序设计特性;除此之外,《VisualC++技术内幕(第4版)修订版》还介绍了Intemet/Intranet程序设计技术,包括服务器软件和客户软件的编写以及IIS编程;最后,《VisualC++技术内幕(第4版)修订版》介绍了ActiveX文档技术,如果读者在从事网络方面的工作,那么相信这些内容可以为您提供基本的技术支持。
目录 前言
第一部分 windoWS、VIsualC++和应用程序框架基础
第一章 MicrosoftWindows和VIsualC++
1.1 Windows的编程模式
1.1.1 消息处理
1.1.2 Windows的图形设备接口(GDI)
1.1.3 基于资源的程序设计
1.1.4 内存管理
].1.5 动态连接库(DLL)
1.1.6 Win32应用程序编程接口
1.2 VisualC++的组成
1.2.1 Microsoft Developer Studio97和创建过程
1.2.2 资源编辑器——Work space Resource View
1.2.3 C/C++编译器
1.2.4 资源编译器
1.2.5 连接器
1.2.6 调试器
1.2.7 AppWizard
1.2.8 ClassWizard
1.2.9 源程序浏览器
1.2.1 0联机帮助
1.2.1 1Windows诊断工具
1.2.1 2源代码控制
1.2.1 3Gallery
1.2.1 4Microsofl基本类库4.2 1版
1.2.1 5MicrosoftActiveX模板库
第二章 Microsoft基本类库应用程序框架
2.1 为什么要使用应用程序框架
2.1.1 学习曲线
2.2 什么是应用程序框架
2.2.1 应用程序框架和MFC库
2.2.2 应用程序框架示例
2.3 MFC库消息映射
2.3.1 文档和视图
第二部分 MFC库中的视图类
第三章 从"Hello world!”着手学习AppWizrd
3.1 什么是视图
3.2 单文档界面(SDI)和多文档界面(MDI)
3.3 “不做任何事情”的应用程序
3.4 CEx03aView视图类
3.5 在视窗内绘图——Windows的图形设备接口
3.5.1 OnDraw成员函数
3.5.2 Windows设备环境
3.5.3 往EX03A程序中加入绘制代码
3.6 资源编辑器简介
3.6.1 exO3a.rC的内容
3.6.2 运行对话框资源编辑器
3.7 Win 32 Debug目标和Win 32 Release目标
3.8 允许诊断宏
3.9 对预编译头文件的理解
3.10两种方法运行程序
第四章 基本事件处理、映射模式和滚动视图
4.1 获取用户输入——消息映射函数山
4.1.1 消息映射
4.1.2 保存视图的状态-类数据成员
4.1.3 初始化视图类数据成员
4.1.4 使矩形区域无效
4.1.5 Windows的客户区域
4.1.6 CRect,CPoint和CSize类的运算
4.1.7 一个点是否在矩形内
4.1.8 CRect的LPRECT操作符
4.1.9 一个点是否在椭圆内
4.2 EX04A示例程序
4.3 对EX04A使用ClassWizard
4.3.1 同时使用App Wizard和Class Wizard
4.4 映射模式
4.4.1 MM-FEXT映射模式
4.4.2 “固定比例”映射模式
4.4.3 “可变比例”映射模式
4.4.4 坐标变换
4.4.5 EXO4B示例程序——转换到MM-HIMETRIC映射模式
4.5 滚动视窗
4.5.1 窗口比人们所见到的要大
4.5.2 滚动条
4.5.3 滚动方式的选择
4.5.4 OnInitialUpdate函数
4.5.5 接收键盘输入
4.5.6 EXO4C滚动示例程序
4.6 其他Windows消息
4.6.1 WM-CREATE消息
4.6.2 WM-CLDSE消息
4.6.3 WM-QUERYENDSESSION消息
4.6.4 WM-DESTROY消息
4.6.5 WM-NCDESTROY消息
第五章 图形设备接口(GDI)、颜色及字体
5.1 设备环境类
5.1.1 显示设备环境类CClientl和CWindow
5.1.2 构造和析构CDC对象
5.1.3 设备环境的状态
5.1.4 CPmntDC类
5.2 CDI对象
5.2.1 GDI对象的构造与析构
5.2.2 跟踪GDI对象
5.2.3 库存的GDI对象
5.2.4 GDI选择的有效期
5.3 Windows的颜色映射
5.3.1 标准视频图形阵列(VGA)显示卡
5.3.2 256色显示卡
5.3.3 16位颜色显示卡
5.3.4 24位颜色显示卡
5.4 字体
5.4.1 字体是GDI对象
5.4.2 选择字体
5.4.3 打印字体
5.4.4 显示字体
5.4.5 显示器的逻辑英寸和物理英寸
5.4.6 计算字符高度
5.5 EX05A示例程序
5.5.1 EX05A程序的组成元素
5.6 EX05B程序
5.6.1 EX05B程序的组成元素
5.7 EX05C示例程序——再次使用C2ScrollView
5.7.1 EXO5C程序的组成元素
5.7.2 CScrollView的SetSealeToFitSize模式
5.7.3 在滚动视图中使用逻辑twips映射模式
第六章 模式对话框和Windows通用控件
6.1 模式和无模式对话框
6.2 资源和控件
6.3 模式对话框的编程
6.4 包罗万象的对话框——EXO6A示例程序
6.4.1 创建对话框资源
6.4.2 (21assWizard和对话框类
6.4.3 将对话框与视图相连接
6.4.4 深入理解:EX06A应用程序
6.5 对话框程序的改进
6.5.1 获得OnOK退出控制
6.5.2 OnCancel处理
6.5.3 和滚动条控件挂上钩
6.6 控件的标识:CWnd指针和控件ID
6.7 设置对话框的背景色和其中控件的颜色
6.8 在对话框窗口内绘图
6.9 在运行时加入对话框控件
6.1 0利用其他的控件特性
第七章 无模式对敌框和Windows通用对话框类
第八章 使用ActiveX
第九章 Win32内存管理
第十章 位图
第十一章 Windows消息处理和多线程编程
第三部分 文档-视图结构
第十二章 菜单、键盘加速键、复文本编辑控件和属性表
第十三章 工具和状态栏
第十四章 可重用框架窗口基类
第十五章 文档与视图的分离
第十六章 读和写文档——SDI应用程序
第十七章 读和写文档——MDI应用程序
第十八章 打印和打印预览
第十九章 切分窗口和多视图
第二十章 上下文相关帮助
第二十一章 动态连接库
第二十二章 不带文档或视图类的MFC程序
第四部分 ActiveX:组件对象模型、自动化和OLE
第二十三章 组件对象模型
第二十四章 自动化
第二十五章 统一数据传输——剪贴板传输以及OLE拖入
第二十六章 结构化存储
第二十七章 OLE嵌入组件和包容器
第五部分 数据库管理
第二十八章 Microsoft ODBC数据库管理
第二十九章 Microsoft Data Access Objects数据管理
第六部分 Internet程序设计
第三十章 TCP/IP、Winsock和WinInet
第三十一章 Microsoft Internet Information Server 编程
第三十二章 ActiveX文档服务器和Internet
附录A Microsoft基本类(MFC)库中的消息映射函数
附录B MFC库运行时类识型和动态对象创建
……
序言 Visual C++自诞生以来,一直是Windows环境下最主要的应用开发系统。本书的第一版和第二版主要针对16位Windows应用程序的开发。以MFC 2.0和2.5为基础,向读者展示了Visual C++软件系统的魅力,而且在第二版中,还介绍了ODBC数据库管理以及OLE与自动化方面的高级编程技术。
本书主要针对Visual C++5.0版本,以Windows NT 4.0与Windows 95或更高版本的32位Windows为操作系统平台,以MFC 4.21为基础,全面介绍了各种MFC类库应用程序的开发过程。由于Win32与Winl6有着很大的差异,所以本书对以前的版本作了较大的修改,有些章节是完全重写的,如Win32内存管理、动态连接库编程、ActiveX控件等,但是在MFC基本框架方面又以继承为主,这就保证了读者在从16位环境转到32位环境时程序设计的连续性,也保证了原来的16位代码可以很方便地被移植到32位系统中来。但本书中,在讲述应用程序框架和文档一视图结构的过程中,涉及到了很多Win32的知识,以及:Developer Stu-dio环境提供的很多实用工具,包括AppWizard、ClassWizard等,因此,即使是熟练的程序员也有必要再阅读这些内容。
除了基本的MFC应用框架知识外,本书还增加了一些新的内容。在数据库应用开发方面,Visual C++5.0除了支持原来的版本中就已经有的ODBC接口外,又增加了新的DAO(数据访问对象)接口,在MFC 4.21的支持下,用户可以快速建立数据库应用程序;上一版本介绍了OLE自动化的程序设计方法,随着这几年新技术的不断发展,Microsoft在COM和OLE的基础上又引入了ActiveX技术,本书用较多的篇幅介绍了ActivcX技术,通过这部分内容,读者不仅可领略到ActiveX技术的概貌,还可以学习一些深入的程序设计特性;除此之外,本书还介绍了Intemet/Intranet程序设计技术,包括服务器软件和客户软件的编写以及IIS编程;最后,本书介绍了ActiveX文档技术,如果读者在从事网络方面的工作,那么相信这些内容可以为您提供基本的技术支持。
Visual C什不仅仅是C++语言的集成开发环境,而且与Win32紧密相连,所以,利用Vi-sual C++开发系统可以完成各种各样应用程序的开发,从底层软件直到上层直接面向用户的软件都可以用Visual C++来完成开发;而且Visual C++强大的调试功能也为大型复杂软件的开发提供了有效的排错手段。随着软件版本的不断升级,其功能也越来越强大,几乎包括了Windows应用的各个方面,所以Visual C++成了Windows系统平台上最强大的应用程序开发系统。
文摘 插图:
第二章 Microsoft基本类库应用程序框架
2.1 为什么要使用应用程序框架
应用程序框架所产生的应用程序使用了标准化的结构。任何程序员在考虑大的项目时都会首先设计自己的程序结构,问题在于不同的程序员所设计的程序结构是截然不同的,因此对于该项目的新增成员来说,要想学习和掌握它的结构就比较困难了。MFC库应用程序框架则采用了它自己的应用程序结构,并且这种结构在许多软件环境及项目中都得到了证实。因此,我们尽可放心地去使用MFC库来进行Windows程序设计。
用不着担心MFC库的这种结构会降低程序的灵活性。在使用MFC库时,我们在任何时候都可以调用Win32函数,因此我们可以最大限度地使用Windows。
应用程序框架所产生的应用程序代码短而运行速度快。回到以前l6位的时代,我们可以建立一个少于20KB的独立的EXE文件。现在,Windows程序变大了,一个原因是32位代码本身就大。Winl6程序即使在大模式编译环境下,使用的也是l6位地址的堆栈变量和全局变量,而Win32程序对所有的变量和常量都使用32位地址,而且常常使用32位的整数,因为32位整数比l6位整数更有效率。另一方面,新的C++异常处理代码也占用了不少内存。
老的20KB的程序没有贴边工具栏、拆分窗口、打印预览功能,或者控件包容器支持——而用户对现在的程序则非常期望这些功能。MFC程序比原来更大,因为它们做得更多、做得更好。幸运的是,现在可以很容易地建立动态连接到MFC代码(和C运行时代码)的程序,所以程序大小又降下来了——从l92KB降到大约20KB。当然,程序的运行还需要一些大的DLL的支持,好在现在这已经习以为常了。