题名:Visual C++高级编程技术 : 开发实例剖析
作者:陈建春编著
出版年:1999
ISBN: 7-5053-5377-2
分类号: TP312
中图分类: 程序语言、算法语言
定价: 80
页数: 714 页
出版社: 电子工业出版社
装订: 16开

全文目录<br />VisualC++高级编程技术——开发实例剖析<br />第1章 VisualC++编程时必须或辅助使用的几个开发工具<br />1、1使用MFCAppWizard<br />1、1、1MFCAppWizard的启动<br />1、1、2利用AppWizard生成一个基于MFC的应用程序<br />1、2使用ClassView<br />1、2、1启动ClassView<br />1、2、2编辑定位<br />1、2、3增加类<br />1、2、4增加类的成员<br />1、3使用ResourceView<br />1、3、1ResourceView的调用<br />1、3、2ResourceView工作分析<br />1、4使用FileView<br />1、4、1打开一个工作项目<br />1、4、2FileView相关的操作功能<br />1、5使用ClassWizard<br />1、5、1Windows消息<br />1、5、2消息处理函数<br />1、5、3ClassWizard的作用和启动<br />1、5、4ClassWizard管理消息处理函数<br />1、5、5ClassWizard管理可重载的虚函数<br />1、5、6ClassWizard管理映射变量<br />1、5、7管理Automation和ActiveX事件<br />1、5、8重新构造一个开发项目的ClassWizard工作信息<br />1、6使用各设计工具的几点建议<br />第2章 基于MFC的一般应用程序框架分析<br />2、1程序类和文件<br />2、2程序框架中各个类的作用分析<br />2、3程序的工作步骤分析<br />2、4系统产生的标准菜单执行分析<br />2、4、1标准菜单的执行分析<br />2、4、2修改标准菜单完成的功能<br />2、5程序框架中各个类对象的相互调用关系<br />2、6包含详尽注释的主要源程序清单<br />第3章 与图形操作有关的类及主要操作<br />3、1绘图类<br />3、1、1绘图类简介<br />3、1、2几个绘图类的主要差别<br />3、1、3绘图类的引用方法<br />3、2绘图对象类<br />3、2、1CGdiObject类<br />3、2、2CPen类<br />3、2、3CBrush类<br />3、2、4CFont类<br />3、2、5CRgn类<br />3、2、6CPalette类<br />3、2、7CBitmap类<br />3、3绘图类的主要操作功能<br />3、3、1坐标映像方式<br />3、3、2选用绘图类对象<br />3、3、3主要绘图属性设置函数<br />第4章 面向对象的程序设计和C++类组织<br />4、1面向对象程序设计和C++类的基础知识<br />4、1、1面向对象程序设计的初步知识<br />4、1、2类和对象<br />4、1、3函数重载<br />4、1、4类的构造函数和析构函数<br />4、1、5类的继承<br />4、1、6虚函数和多态性<br />4、2分析建立一个基本矢量图形系统Draw的基本类<br />4、2、1建立一个图形基本类<br />4、2、2通过继承建立直线类<br />4、2、3通过继承建立连续直线或封闭多边形类<br />4、2、4通过继承建立圆类<br />4、2、5通过多级继承建立圆弧类<br />4、2、6通过继承建立标注文本类<br />4、2、7建立图形参数类<br />4、3基本矢量图形系统类的组织和实现列表<br />第5章 实现文档和视图<br />5、1组织矢量图形系统Draw的文档<br />5、1、1组织面向对象的文档存储管理机制<br />5、1、2利用MFC模板定义管理图形元素对象指针的对象<br />5、1、3实现Draw系统的文档<br />5、1、4实现Draw系统文档的管理功能<br />5、2实现矢量图形系统Draw的视图<br />5、2、1为Draw系统建立一个适合各种映像方式的坐标系<br />5、2、2实现各图形元素类的绘制函数<br />5、2、3视图类的OnDraw函数<br />5、2、4实现视图<br />第6章 使用鼠标器交互作图<br />6、1用鼠标器作图要解决的主要问题<br />6、1、1建立鼠标消息处理函数捕捉鼠标器消息<br />6、1、2捕捉所有的鼠标输入<br />6、1、3实现在屏幕上拖动图形<br />6、1、4保存图形数据到文档<br />6、1、5将图形以实际的形态重画<br />6、2加入一个绘图菜单<br />6、2、1增加绘图菜单资源<br />6、2、2增加菜单的消息处理函数<br />6、3实现各图形元素的交互绘制功能<br />6、3、1绘制直线<br />6、3、2绘制连续直线和多边形区域<br />6、3、3绘制圆和圆形区域<br />6、3、4绘制圆弧<br />第7章 使用对话框<br />7、1对话框程序设计概况<br />7、1、1对话框程序的组成<br />7、1、2对话框的类型<br />7、2对话框编程的主要技术<br />7、2、1创建对话框资源<br />7、2、2创建对话框类<br />7、2、3对话框类中的常用函数<br />7、2、4对话框类对象的定义和使用<br />7、2、5控制无模式对话框<br />7、2、6对话框中使用各种控制<br />7、2、7对话框中的消息操作<br />7、3用无模式对话框完成Draw系统的交互文本标注<br />7、3、1交互标注文本的操作过程<br />7、3、2定义对话框资源<br />7、3、3实现对话框类<br />7、3、4修改视图类实现文本交互标注<br />7、4用模式对话框实现Draw系统中字体参数的设置<br />7、4、1建立对话框资源<br />7、4、2实现对话框类<br />第8章 增强视图的操作功能<br />8、1增加一个图形操作菜单<br />8、1、1增加菜单资源<br />8、1、2增加消息处理函数<br />8、2图形重画<br />8、2、1全屏重画<br />8、2、2局部重画<br />8、3图形放大和移动<br />8、3、1图形放大或移动后图形参数的计算方法<br />8、3、2图形放大和移动的实现方法<br />8、4重画上屏和重画首屏<br />8、5显示全图<br />8、5、1操作目的和实现思路<br />8、5、2各种图形元素的矩形边界<br />8、5、3实现重画全图功能<br />8、6提高图形重画速度的基本方法<br />8、6、1基本原理及方法<br />8、6、2提高图形重画速度的实现方法<br />8、6、3修改图形元素的绘制函数<br />8、7实现滚动视图<br />8、7、1实现滚动视图的方法<br />8、7、2必要的参数设置<br />8、8为Draw系统定制自身的图形滚动功能<br />8、8、1确定滚动步长<br />8、8、2产生一个滚动条<br />8、8、3实现滚动功能<br />8、8、4加快图形滚动的速度<br />8、8、5用键盘滚动图形<br />第9章 文档的删除和恢复<br />9、1用鼠标在屏幕上选中图形元素<br />9、1、1各种图形元素的选中区域<br />9、1、2各种图形元素的选中判断<br />9、1、3选中图形的特殊显示<br />9、1、4实现图形选中功能<br />9、1、5放弃选中的图形元素<br />9、1、6图形元素显示和选中的顺序<br />9、2图形元素的删除<br />9、2、1实现可恢复的图形元素删除方法<br />9、2、2即时从屏幕上删除图形<br />9、2、3各种图形元素的删除实现<br />9、2、4实现图形元素删除功能<br />9、3实现Draw系统文档操作逆向化<br />9、3、1逆向操作的含义<br />9、3、2记录文档操作过程<br />9、3、3实现文档逆向操作<br />9、3、4实现操作过程的完全逆向化<br />第10章 文档的存储和读取<br />10、1利用CFile对象存储和读取文件<br />10、1、1构造和删除一个CFile对象<br />10、1、2CFile类的主要操作<br />10、1、3CFile的派生类<br />10、2利用串行化存取文档<br />10、2、1CArchive类及CArchive对象的构造<br />10、2、2Serialize函数<br />10、2、3CObArray类的serialize函数<br />10、3用串行化实现Draw系统的文档存储和读取功能<br />10、3、1实现各个图形元素类的串行化<br />10、3、2MFC框架程序的文档串行化机制<br />10、3、3实现文档的存储和读取<br />10、3、4SetModifiedFlag函数<br />10、4用CFile对象实现Draw系统文档的存储和读取<br />10、4、1在各个图形类中增加一个存取数据成员的函数<br />10、4、2实现文档的存储和读取<br />第11章 使用剪裁板<br />11、1剪裁板使用方法<br />11、1、1打开、关闭、清空剪裁板<br />11、1、2存取剪裁板<br />11、1、3注册和检查剪裁板格式<br />11、2用剪裁板实现Draw系统剪裁和粘贴图像的功能<br />11、2、1增加操作菜单<br />11、2、2剪裁视图到剪裁板<br />11、2、3插入剪裁板的位图到当前视图<br />11、3用剪裁板实现Draw系统中矢量图形元素的剪裁、移动和复制<br />11、3、1实现各图形元素数据的字符串表示<br />11、3、2将要剪裁的图形元素数据写入剪裁板<br />11、3、3从剪裁板中读出数据成员形成图形元素对象<br />11、3、4实现Draw系统的Cut、Copy和Paste操作功能<br />第12章 多视图、多文档编程<br />12、1单文档和多文档应用程序比较<br />12、1、1用MFCAppWizard产生程序框架比较<br />12、1、2程序框架类比较<br />12、1、3标准菜单比较<br />12、2单文档应用程序分析<br />12、2、1建立文档模板对象<br />12、2、2打开文档操作<br />12、2、3关闭文档操作<br />12、2、4保存文档操作<br />12、3多文档应用程序分析<br />12、3、1建立文档模板对象<br />12、3、2打开文档<br />12、3、3关闭和保存文档<br />12、3、4创建视图<br />12、4多文档、多视图编程注意事项<br />12、4、1全局变量的使用<br />12、4、2共享资源的使用<br />12、4、3多文档、多视图应用程序文档和视图类数据成员的组织<br />第13章 多线程编程<br />13、1管理线程的技术<br />13、1、1设置开发环境参数<br />13、1、2启动及终止线程<br />13、1、3管理线程<br />13、2线程中使用MFC类对象<br />13、2、1线程中共享数据及对象<br />13、2、2线程中使用主线程的视图类和文档类对象<br />13、2、3使用CDC类对象<br />13、2、4使用CGdiObject类对象<br />13、3线程的同步化方法<br />13、3、1线程同步化概念<br />13、3、2使用互斥信号灯同步化线程<br />13、3、3其他同步化方法<br />13、3、4其他同步化类型<br />13、4实现Draw系统的图形后台绘制<br />13、4、1实现一个图形绘制线程<br />13、4、2实现同步化<br />第14章 图形打印和打印预显<br />14、1视图打印实现过程分析<br />14、1、1视图打印的机理<br />14、1、2视图打印过程分析<br />14、2实现Draw系统的多坐标系无级打印和打印预显功能<br />14、2、1进行分页<br />14、2、2打印标题、注脚等其他信息<br />14、2、3任意比例分页打印的具体实现<br />14、2、4打印预显<br />第15章 显示位图<br />15、1位图文件的格式<br />15、2CBitmap类及CBitmap类对象的初始化方法<br />15、2、1CBitmap类简介<br />15、2、2初始化CBitmap类对象的方法<br />15、3显示位图的步骤和主要的位操作函数<br />15、3、1显示位图的步骤<br />15、3、2位操作函数<br />15、4显示位图的函数实现<br />15、4、1显示装载在资源文件中的位图<br />15、4、2通过HBITMAP句柄装载显示位图文件<br />15、4、3用画点法选择装入位图数据显示位图<br />第16章 使用工具条、状态条、对话条及加速键<br />16、1使用工具条<br />16、1、1工具条的实现过程<br />16、1、2为Draw系统创建一个绘图工具条<br />16、2使用状态条<br />16、2、1状态条的实现过程<br />16、2、2为Draw系统在状态条中增加坐标跟踪提示<br />16、3使用对话条<br />16、3、1对话条的实现过程<br />16、3、2在Draw系统中实现设置绘图参数的对话条<br />16、4加速键等的实现方法<br />16、4、1使用CCmdUI消息处理函数<br />16、4、2修改命令交互对象的命令描述<br />16、4、3设置加速键<br />第17章 使用和开发DLL<br />17、1DLL的使用<br />17、1、1DLL的特点<br />17、1、2Windows中的DLL<br />17、1、3MFC库中的DLL<br />17、1、4DLL的文件组成<br />17、1、5使用DLL的方法<br />17、2VC++5.0能够开发的基于MFC的DLL种类<br />17、2、1通常形式的静态使用MFC的DLL<br />17、2、2通常形式的动态使用MFC的DLL<br />17、2、3扩展DLL<br />17、3调整开发平台设置来开发和调试DLL<br />17、3、1管理多个程序项目<br />17、3、2调整DLL开发项目和使用DLL项目的路径设置<br />17、4在Draw系统中开发和使用DLL<br />17、4、1利用通常形式的静态DLL实现标注字体设置对话框<br />17、4、2利用通常形式的动态DLL实现标注字体设置对话框<br />17、4、3利用扩展DLL实现标注字体设置对话框<br />第18章 OLE编程<br />18、1OLE使用技术<br />18、1、1OLE主要术语<br />18、1、2OLE服务器应用程序调用的方式和实现<br />18、1、3MFC中的主要OLE类<br />18、1、4MFCAppWizard创建的OLE程序框架<br />18、2OLE包容器应用程序设计<br />18、2、1程序框架组成<br />18、2、2OLE条目的文档组织<br />18、2、3增加和删除OLE条目<br />18、2、4OLE条目绘制过程<br />18、2、5OLE条目的选中和拖动<br />18、2、6OLE条目的可视原位编辑<br />18、2、7OLE条目的存取<br />18、3在Draw系统中实现OLE包容器功能<br />18、3、1给OLE条目类增加数据成员<br />18、3、2绘制OLE条目<br />18、3、3增加OLE条目<br />18、3、4OLE条目的选中和拖动<br />18、3、5对OLE条目进行清除选中和删除操作<br />18、3、6编辑OLE条目<br />18、3、7保存OLE条目<br />18、4OLE服务器程序开发技术分析<br />18、4、1程序类分析<br />18、4、2交互操作界面分析<br />18、4、3视图分析<br />18、4、4文档分析<br />18、5开发OLE混合应用程序<br />18、5、1程序类分析<br />18、5、2交互操作界面分析<br />18、5、3文档组织分析<br />18、6Automation支持<br />18、6、1术语<br />18、6、2Automation方法的定义和使用<br />18、6、3Automation属性的定义和使用<br />18、6、4OLE自动化包容器获得OLE自动化服务器接口的方法<br />第19章 ActiveX控件的开发及使用<br />19、1ActiveX控件特点、构成及开发技术分析<br />19、1、1ActiveX控件的特点<br />19、1、2用MFCAppWizard产生ActiveX控件开发程序框架<br />19、1、3ActiveX控件的主要开发工作<br />19、2开发ActiveX控件的Automation属性和方法<br />19、2、1开发Automation属性和方法的程序框架<br />19、2、2增加一个库存属性<br />19、2、3增加其他Automation属性和方法<br />19、3开发ActiveX控件的事件<br />19、3、1开发事件的程序框架<br />19、3、2增加库存事件<br />19、3、3增加和激发定制事件<br />19、4开发ActiveX控件的属性页<br />19、4、1属性页开发的程序框架<br />19、4、2属性页的开发<br />19、5开发一个直线ActiveX控件实例<br />19、5、1给控件增加Automation属性<br />19、5、2给控件增加Automation方法<br />19、5、3给控件增加事件<br />19、5、4完成控件的绘制<br />19、5、5激发事件<br />19、5、6完成控件的属性页开发<br />19、5、7ActiveX控件的编译及注册<br />19、6ActiveX控件的测试和使用<br />19、6、1使用VC++提供的测试容器程序<br />19、6、2在对话框中使用ActiveX控件<br />第20章 实现系统的帮助功能<br />20、1开发帮助功能的程序框架<br />20、1、1MFC应用程序中帮助功能的程序代码组成<br />20、1、2MFC应用程序的标准帮助功能及其实现<br />20、2求助主题组织<br />20、2、1组织求助主题的普通显示内容<br />20、2、2组织求助主题的标识<br />20、2、3组织求助主题中的跳转<br />20、2、4使用Word编辑RTF文件可能出现的问题<br />20、3组织帮助项目文件prj<br />20、3、1求助项目文件中常用的节<br />20、3、2其他一些在HPJ文件中使用的节<br />20、4实现Draw系统的帮助功能<br />20、4、1创建每个菜单项的求助主题页<br />20、4、2创建菜单的求助目录主题页并与帮助文件的主目录主题连接<br />20、4、3测试新增帮助功能<br />第21章 矢量图形系统Draw的源代码列表<br />21、1Draw系统的主要功能<br />21、2Draw系统的源代码文件列表<br />21、2、1Draw系统开发过程中增加或做过修改的文件<br />21、2、2drawdoc.h和drawdoc.cpp文件列表<br />21、2、3视图类的drawview.h和drawview.cpp文件<br />21、2、4主框架类的mainfrm.h和mainfrm.cpp文件<br />21、2、5OLE条目控制类的ctrlitem.h和ctrlitem.cpp文件<br />21、2、6对话框类的textwritedlg.h和textwritedlg.cpp文件<br />附录A本书所附光盘的内容及技术支持<br />附录B参考书目