书籍详情
Visual C++高级编程技术:开发实例剖析
作者:陈建春编著
出版社:电子工业出版社
出版时间:1999-09-01
ISBN:9787505353770
定价:¥80.00
内容简介
本书是作者继《Microsoft Visual C++图形系统开发技术基础》后推出的又一本力作。本书结合具体的开发实例全面介绍和分析了各种MFC辅助开发工具的使用方法,包括与图形有关的MFC类、面向对象的程序设计基础和C++类的组织、文档和视图的实现、鼠标交互绘图、视图的无级放缩和回溯、图形的选中、图形的删除和文档逆向操作、文档的存储组织、对话框的使用、剪载板的使用、多文档多视图程序设计、控制条的使用、位图的使用、图形的打印和打印预显、DLL的开发和使用、OLE的开发和使用、ActiveX控件的开发和使用、帮助系统组织等各种开发技术。在讲述中,以一个基本矢量图形系统的开发为主线贯穿全书,并附有完整的实现代码。不论是初学者还是高级技术人员,都会从本书中获益。本书的代码适用于VC ++ 5.0及其以上版本。本书适用于从事计算机开发的广大技术人员及大专院校的师生阅读。
作者简介
暂缺《Visual C++高级编程技术:开发实例剖析》作者简介
目录
第1章 Visual C++编程时必须或辅助使用的几个开发工具
1.1 使用MFC AppWizard
1.1.1 MFC AppWizard的启动
1.1.2 利用AppWizard生成一个基于MFC的应用程序
1.2 使用Class View
1.2.1 启动Class View
1.2.2 编辑定位
1.2.3 增加类
1.2.4 增加类的成员
1.3 使用ResourceView
1.3.1 ResourceView的调用
1.3.2 ResourceView工作分析
1.4 使用File View
1.4.1 打开一个工作项目
1.4.2 File View相关操作功能
1.5 使用ClassWizard
1.5.1 Windows消息
1.5.2 消息处理函数
1.5.3 ClassWizard的作用和启动
1.5.4 ClassWizard管理消息处理函数
1.5.5 ClassWizard可重载的虚函数
1.5.6 ClassWizard管理映射变量
1.5.7 管理Automation和ActiveX事件
1.5.8 重新构造一个开发项目的ClassWizard工作信息
1.6 使用各设计工具的几点建议
第2章 基于MFC的一般应用程序框架分析
2.1 程序类和文件
2.2 程序框架中各个类的作用分析
2.3 程序的工作步骤分析
2.4 系统产生的标准菜单执行分析
2.4.1 标准菜单的执行分析
2.4.2 修改标准菜单完成的功能
2.5 程序框架中各类对象的相互调用关系
2.6 包含详尽注释的主要资源程序清单
第3章 与图形操作有关的类及主要操作
3.1 绘图类
3.1.1 绘图类简介
3.1.2 几个绘图类的主要差别
3.1.3 绘图类的引用方法
3.2 绘图对象类
3.2.1 CGdiObject类
3.2.2 CPen类
3.2.3 CBrush类
3.2.4 CFont类
3.2.5 CRgn类
3.2.6 CPalette类
3.2.7 CBitmap类
3.3 绘图类的主要操作功能
3.3.1 坐标映像方式
3.3.2 选用绘图类对象
3.3.3 主要绘图属性设置函数
第4章 面向对象的程序设计和C++类组织
4.1 面向对象程序设计和C++类的基础知识
4.1.1 面向对象程序设计的初步知识
4.1.2 类和对象
4.1.3 函数重载
4.1.4 类的构造函数和析构函数
4.1.5 类的继承
4.1.6 虚函数和多态性
4.2 分析建立一个基本矢量图形系统Draw的基本类
4.2.1 建立一个图形基本类
4.2.2 通过继承建立直线类
4.2.3 通过继承建立连续直线或封闭多边形类
4.2.4 通过继承建立圆类
4.2.5 通过多级继承建立圆弧类
4.2.6 通过继承建立标注文本类
4.2.7 建立图形参数类
4.3 基本矢量图形系统类的组织和实现列表
第5章 实现文档和视图
5.1 组织矢量图形系统Draw的文档
5.1.1 组织面向对象的文档存储管理机制
5.1.2 利用MFC模板定义管理图形元素对象指针的对象
5.1.3 实现Draw系统的文档
5.1.4 实现Draw系统文档的管理功能
5.2 实现矢量图形系统Draw的视图
5.2.1 为Draw系统建立一个适合各种映像方式的坐标系
5.2.2 实现各图形元素类的绘制函数
5.2.3 视图类的OnDraw函数
5.2.4 实现视图
第6章 使用鼠标器交互作图
6.1 用鼠标器作图要解决的主要问题
6.1.1 建立鼠标消息处理函数捕捉鼠标器消息
6.1.2 捕捉所有的鼠标输入
6.1.3 实现在屏幕上拖动图形
6.1.4 保存图形数据到文档
6.1.5 将图形以实际的形态重画
6.2 加入一个绘图菜单
6.2.1 增加绘图菜单资源
6.2.2 增加菜单的消息处理函数
6.3 实现各图形元素的交互绘制功能
6.3.1 绘制直线
6.3.2 绘制连续直线和多边形区域
6.3.3 绘制圆和圆形区域
6.3.4 绘制圆弧
第7章 使用对话框
7.1 对话框程序设计概况
7.1.1 对话框程序的组成
7.1.2 对话框的类型
7.2 对话框编程的主要技术
7.2.1 创建对话框资源
7.2.2 创建对话框类
7.2.3 对话框类中的常用函数
7.2.4 对话框类对象的定义和使用
7.2.5 控制无模式对话框
7.2.6 对话框中使用各种控制
7.2.7 对话框的消息操作
7.3 用无模式对话框完成Draw系统的交互文本标注
7.3.1 交互标注文本的操作过程
7.3.2 定义对话框资源
7.3.3 实现对话框类
7.3.4 修改视图类实现文本交互标注
7.4 用模式对话框实现Draw系统中字体参数的设置
7.4.1 建立对话框资源
7.4.2 实现对话框类
第8章 增强视图的操作功能
8.1 增加一个图形操作菜单
8.1.1 增加菜单资源
8.1.2 增加消息处理函数
8.2 图形重画
8.2.1 全屏重画
8.2.2 局部重画
8.3 图形放大和移动
8.3.1 图形放大或移动后图形参数的计算方法
8.3.2 图形放大和移动的实现方法
8.4 重画上屏和重画首屏
8.5 显示全图
8.5.1 操作目的和实现思路
8.5.2 各种图形元素的矩形边界
8.5.3 实现重画全图功能
8.6 提高图形重画速度的基本方法
8.6.1 基本原理及方法
8.6.2 提高图形重画速度的实现方法
8.6.3 修改图形元素的绘制函数
8.7 实现滚动视图
8.7.1 实现滚动视图的方法
8.7.2 必要的参数设置
8.8 为Draw系统定制自身的图形滚动功能
8.8.1 确定滚动步长
8.8.2 产生一个滚动条
8.8.3 实现滚动功能
8.8.4 加快图形滚动的速度
8.8.5 用键盘滚动图形
第9章 文档的删除和恢复
9.1 用鼠标在屏幕上选中图形元素
9.1.1 各种图形元素的选中区域
9.1.2 各种图形元素的选中判断
9.1.3 选中图形的特殊显示
9.1.4 实现图形选中功能
9.1.5 放弃选中的图形元素
9.1.6 图形元素显示和选中的顺序
9.2 图形元素的删除
9.2.1 实现可恢复的图形元素删除方法
9.2.2 即时从屏幕上删除图形
9.2.3 各种图形元素的删除实现
9.2.4 实现图形元素删除功能
9.3 实现Draw系统文档操作逆向化
9.3.1 逆向操作的含义
9.3.2 记录文档操作过程
9.3.3 实现文档逆向操作
9.3.4 实现操作过程的完全逆向化
第10章 文档的存储和读取
10.1 利用CFile对象存储和读取文件
10.1.1 构造和删除一个CFile对象
10.1.2 CFile类的主要操作
10.1.3 CFile的派生类
10.2 利用串行化存取文档
10.2.1 CArchive类及CArchive对象的构造
10.2.2 Serialize函数
10.2.3 CObArray类的serialize函数
10.3 用串行化实现Draw系统的文档存储和读取功能
10.3.1 实现各处图形元素类的串行化
10.3.2 MFC框架程序的文档串行化机制
10.3.3 实现文档的存储和读取
10.3.4 SetModifiedFlag函数
10.4 用CFile对象实现Draw系统文档的存储和读取
10.4.1 在各个图形类中增加一个存取数据成员的函数
10.4.2 实现文档的存储和读取
第11章 使用剪裁板
11.1 剪裁板使用方法
11.1.1 打开、关闭、清空剪裁板
11.1.2 存取剪裁板
11.1.3 注册和检查剪裁板格式
11.2 用剪裁板实现Draw系统剪裁和粘贴图像的功能
11.2.1 增加操作菜单
11.2.2 剪裁视图到剪裁板
11.2.3 插入剪裁板的位图到当前视图
11.3 用剪裁板实现Draw系统中矢量图形元素的剪裁、移动和复制
11.3.1 实现各图形元素数据的字符串表示
11.3.2 将要剪载的图形元素数据写入剪裁板
11.3.3 从剪裁板中读出数据成员形成图形元素对象
11.3.4 实现Draw系统的Cut、Copy和Paste操作功能
第12章 多视图、多文档编程
12.1 单文档和多文档应用程序比较
12.1.1 用MFC AppWizard产生程序框架比较
12.1.2 程序框架类比较
12.1.3 标准菜单比较
12.2 单文档应用程序分析
12.2.1 建立文档模板对象
12.2.2 打开文档操作
12.2.3 关闭文档操作
12.2.4 保存文档操作
12.3 多文档应用程序分析
12.3.1 建立文档模板对象
12.3.2 打开文档
12.3.3 关闭和保存文档
12.3.4 创建视图
12.4 多文档、多视图编程注意事项
12.4.1 全局变量的使用
12.4.2 共享资源的使用
12.4.3 多文档、多视图应用程序文档和视图类数据成员的组织
第13章 多线程编程
13.1 管理线程的技术
13.1.1 设置开发环境参数
13.1.2 启动及终止线程
13.1.3 管理线程
13.2 线程中使用MFC类对象
13.2.1 线程中共享数据及对象
13.2.2 线程中使用主线程的视图类和文档类对象
13.2.3 使用CDC类对象
13.2.4 使用CGdiObject类对象
13.3 线程的同步化方法
13.3.1 线程同步化概念
13.3.2 使用互斥信号灯同步化线程
13.3.3 其他同步化方法
13.3.4 其他同步化类型
13.4 实现Draw系统的图形后台绘制
13.4.1 实现一个图形绘制线程
13.4.2 实现同步化
第14章 图形打印和打印预显
14.1 视图打印实现过程分析
14.1.1 视图打印的机理
14.1.2 视图打印过程分析
14.2 实现Draw系统的多坐标系无级打印和打印预显功能
14.2.1 进行分页
14.2.2 打印标题、注脚等其他信息
14.2.3 任意比例分页打印的具体实现
14.2.4 打印预显
第15章 显示位图
15.1 位图文件的格式
15.2 CBitmap类及CBitmap类对象的初始化方法
15.2.1 CBitmpa类简介
15.2.2 初始化CBitmap类对象的方法
15.3 显示位图的步骤和主要的位操作函数
15.3.1 显示位图的步骤
15.3.2 位操作函数
15.4 显示位图的函数实现
15.4.1 显示装裁在资源文件中的位图
15.4.2 通过HBITMAP句柄装载显示位图文件
15.4.3 用画点法选择装入位图数据显示位图
第16章 使用工具条、状态条、对话条及加速键
16.1 使用工具条
16.1.1 工具条的实现过程
16.1.2 为Draw系统创建一个绘图工具条
16.2 使用状态条
16.2.1 状态条的实现过程
16.2.2 为Draw系统在状态条中增加坐标跟踪提示
16.3 使用对话条
16.3.1 对话条的实现过程
16.3.2 在Draw系统中实现设置绘图参数的对话框
16.4 加速键等的实现方法
16.4.1 使用CCmdUI消息处理函数
16.4.2 修改命令交互对象的命令描述
16.4.3 设置加速键
第17章 使用和开发DLL
17.1 DLL的使用
17.1.1 DLL的特点
17.1.2 Windows中的DLL
17.1.3 MFC库中的DLL
17.1.4 DLL的文件组成
17.1.5 使用DLL的方法
17.2 VC++ 5.0能够开发的基于MFC的DLL种类
17.2.1 通常形式的静态使用MFC的DLL
17.2.2 通常形式的动态使用MFC的DLL
17.2.3 扩展DLL
17.3 调整开发平台设置来开发和调试DLL
17.3.1 管理多个程序项目
17.3.2 调整DLL开发项目和使用DLL项目的路径设置
17.4 在Draw系统中开发和使用DLL
17.4.1 利用通常形式的静态DLL实现标注字体设置对话框
17.4.2 利用通常形式的动态DLL实现标注字体设置对话框
17.4.3 利用扩展DLL实现标注字体设置对话框
第18章 OLE编程
18.1 OLE使用技术
18.1.1 OLE主要术语
18.1.2 OLE服务器应用程序调用的方式和实现
18.1.3 MFC中的主要OLE类
18.1.4 MFC AppWizard创建的OLE程序框架
18.2 OLE包容器应用程序设计
18.2.1 程序框架组成
18.2.2 OLE条目的文档组织
18.2.3 增加和删除OLE条目
18.2.4 OLE条目绘制过程
18.2.5 OLE条目的选中和拖动
18.2.6 OLE条目的可视原位编辑
18.2.7 OLE条目的存取
18.3 在Draw系统中实现OLE包容器功能
18.3.1 给OLE条目类增加数据成员
18.3.2 绘制OLE条目
18.3.3 增加OLE条目
18.3.4 OLE条目的选中和拖动
18.3.5 对OLE条目进行清除选中和删除操作
18.3.6 编辑OLE条目
18.3.7 保存OLE条目
18.4 OLE服务器程序开发技术分析
18.4.1 程序类分析
18.4.2 交互操作界面分析
18.4.3 视图分析
18.4.4 文档分析
18.5 开发OLE混合应用程序
18.5.1 程序类分析
18.5.2 交互操作界面分析
18.5.3 文档组织分析
18.6 Automation支持
18.6.1 术语
18.6.2 Automation方法的定义和使用
18.6.3 Automation属性的定义和使用
18.6.4 OLE自动化包容器获得OLE自动化服务器接口的方法
第19章 ActiveX控件的开发及使用
19.1 ActiveX控件特点、构成及开发技术分析
19.1.1 ActiveX控件的特点
19.1.2 用MFC AppWizard产生ActiveX控件开发程序框架
19.1.3 ActiveX控件的主要开发工作
19.2 开发ActiveX控件的Automation属性和方法
19.2.1 开发Automation属性的方法的程序框架
19.2.2 增加一个库存属性
19.2.3 增加其他Automation属性和方法
19.3 开发ActiveX控件的事件
19.3.1 开发事件的程序框架
19.3.2 增加库存事件
19.3.3 增加和激发定制事件
19.4 开发ActiveX控件的属性页
19.4.1 属性页开发的程序框架
19.4.2 属性页的开发
19.5 开发一个直线ActiveX控件实例
19.5.1 给控件增加Automation属性
19.5.2 给控件增加Automation方法
19.5.3 给控件增加事件
19.5.4 完成控件的绘制
19.5.5 激发事件
19.5.6 完成控件的属性页开发
19.5.7 ActiveX控件的编译及注册
19.6 ActiveX控件的测试和使用
19.6.1 VC++提供的测试容器程序
19.6.2 在对话框中使用ActiveX控件
第20章 实现系统的帮助功能
20.1 开发帮助功能的程序框架
20.1.1 MFC应用程序中帮助功能的程序代码组成
20.1.2 MFC应用程序的标准帮助功能及其实现
20.2 求助主题组织
20.2.1 组织求助主题的普通显示内容
20.2.2 组织求助主题的标识
20.2.3 组织求助主题中的跳转
20.2.4 使用Word编辑RTF文件可能出现的问题
20.3 组织帮助项目文件prj
20.3.1 求助项目文件中常用的节
20.3.2 其他一些在HPJ文件中使用的节
20.4 实现Draw系统的帮助功能
20.4.1 创建每个菜单项的求助主题页
20.4.2 创建菜单的求助目录主题页并与帮助文件的主目录主题连接
20.4.3 测试新增帮助功能
第21章 矢量图形系统Draw的源代码列表
21.1 Draw系统的主要功能
21.2 Draw系统的原代码文件列表
21.2.1 Draw系统开发过程中增加或做过修改的文件
21.2.2 drawdoc.h和drawdoc.cpp文件列表
21.2.3 视图类的drawview.h和drawview.cpp文件
21.2.4 主框架类的mainfrm.h和mainfrm.cpp文件
21.2.5 OLE条目控制类的ctrlitem.h和ctrlitem.cpp文件
21.2.6 对话框类的textwritedlg.h和textwritedlg.cpp文件
附录 A 本书所附光盘的内容及技术支持
附录 B 参考书目
1.1 使用MFC AppWizard
1.1.1 MFC AppWizard的启动
1.1.2 利用AppWizard生成一个基于MFC的应用程序
1.2 使用Class View
1.2.1 启动Class View
1.2.2 编辑定位
1.2.3 增加类
1.2.4 增加类的成员
1.3 使用ResourceView
1.3.1 ResourceView的调用
1.3.2 ResourceView工作分析
1.4 使用File View
1.4.1 打开一个工作项目
1.4.2 File View相关操作功能
1.5 使用ClassWizard
1.5.1 Windows消息
1.5.2 消息处理函数
1.5.3 ClassWizard的作用和启动
1.5.4 ClassWizard管理消息处理函数
1.5.5 ClassWizard可重载的虚函数
1.5.6 ClassWizard管理映射变量
1.5.7 管理Automation和ActiveX事件
1.5.8 重新构造一个开发项目的ClassWizard工作信息
1.6 使用各设计工具的几点建议
第2章 基于MFC的一般应用程序框架分析
2.1 程序类和文件
2.2 程序框架中各个类的作用分析
2.3 程序的工作步骤分析
2.4 系统产生的标准菜单执行分析
2.4.1 标准菜单的执行分析
2.4.2 修改标准菜单完成的功能
2.5 程序框架中各类对象的相互调用关系
2.6 包含详尽注释的主要资源程序清单
第3章 与图形操作有关的类及主要操作
3.1 绘图类
3.1.1 绘图类简介
3.1.2 几个绘图类的主要差别
3.1.3 绘图类的引用方法
3.2 绘图对象类
3.2.1 CGdiObject类
3.2.2 CPen类
3.2.3 CBrush类
3.2.4 CFont类
3.2.5 CRgn类
3.2.6 CPalette类
3.2.7 CBitmap类
3.3 绘图类的主要操作功能
3.3.1 坐标映像方式
3.3.2 选用绘图类对象
3.3.3 主要绘图属性设置函数
第4章 面向对象的程序设计和C++类组织
4.1 面向对象程序设计和C++类的基础知识
4.1.1 面向对象程序设计的初步知识
4.1.2 类和对象
4.1.3 函数重载
4.1.4 类的构造函数和析构函数
4.1.5 类的继承
4.1.6 虚函数和多态性
4.2 分析建立一个基本矢量图形系统Draw的基本类
4.2.1 建立一个图形基本类
4.2.2 通过继承建立直线类
4.2.3 通过继承建立连续直线或封闭多边形类
4.2.4 通过继承建立圆类
4.2.5 通过多级继承建立圆弧类
4.2.6 通过继承建立标注文本类
4.2.7 建立图形参数类
4.3 基本矢量图形系统类的组织和实现列表
第5章 实现文档和视图
5.1 组织矢量图形系统Draw的文档
5.1.1 组织面向对象的文档存储管理机制
5.1.2 利用MFC模板定义管理图形元素对象指针的对象
5.1.3 实现Draw系统的文档
5.1.4 实现Draw系统文档的管理功能
5.2 实现矢量图形系统Draw的视图
5.2.1 为Draw系统建立一个适合各种映像方式的坐标系
5.2.2 实现各图形元素类的绘制函数
5.2.3 视图类的OnDraw函数
5.2.4 实现视图
第6章 使用鼠标器交互作图
6.1 用鼠标器作图要解决的主要问题
6.1.1 建立鼠标消息处理函数捕捉鼠标器消息
6.1.2 捕捉所有的鼠标输入
6.1.3 实现在屏幕上拖动图形
6.1.4 保存图形数据到文档
6.1.5 将图形以实际的形态重画
6.2 加入一个绘图菜单
6.2.1 增加绘图菜单资源
6.2.2 增加菜单的消息处理函数
6.3 实现各图形元素的交互绘制功能
6.3.1 绘制直线
6.3.2 绘制连续直线和多边形区域
6.3.3 绘制圆和圆形区域
6.3.4 绘制圆弧
第7章 使用对话框
7.1 对话框程序设计概况
7.1.1 对话框程序的组成
7.1.2 对话框的类型
7.2 对话框编程的主要技术
7.2.1 创建对话框资源
7.2.2 创建对话框类
7.2.3 对话框类中的常用函数
7.2.4 对话框类对象的定义和使用
7.2.5 控制无模式对话框
7.2.6 对话框中使用各种控制
7.2.7 对话框的消息操作
7.3 用无模式对话框完成Draw系统的交互文本标注
7.3.1 交互标注文本的操作过程
7.3.2 定义对话框资源
7.3.3 实现对话框类
7.3.4 修改视图类实现文本交互标注
7.4 用模式对话框实现Draw系统中字体参数的设置
7.4.1 建立对话框资源
7.4.2 实现对话框类
第8章 增强视图的操作功能
8.1 增加一个图形操作菜单
8.1.1 增加菜单资源
8.1.2 增加消息处理函数
8.2 图形重画
8.2.1 全屏重画
8.2.2 局部重画
8.3 图形放大和移动
8.3.1 图形放大或移动后图形参数的计算方法
8.3.2 图形放大和移动的实现方法
8.4 重画上屏和重画首屏
8.5 显示全图
8.5.1 操作目的和实现思路
8.5.2 各种图形元素的矩形边界
8.5.3 实现重画全图功能
8.6 提高图形重画速度的基本方法
8.6.1 基本原理及方法
8.6.2 提高图形重画速度的实现方法
8.6.3 修改图形元素的绘制函数
8.7 实现滚动视图
8.7.1 实现滚动视图的方法
8.7.2 必要的参数设置
8.8 为Draw系统定制自身的图形滚动功能
8.8.1 确定滚动步长
8.8.2 产生一个滚动条
8.8.3 实现滚动功能
8.8.4 加快图形滚动的速度
8.8.5 用键盘滚动图形
第9章 文档的删除和恢复
9.1 用鼠标在屏幕上选中图形元素
9.1.1 各种图形元素的选中区域
9.1.2 各种图形元素的选中判断
9.1.3 选中图形的特殊显示
9.1.4 实现图形选中功能
9.1.5 放弃选中的图形元素
9.1.6 图形元素显示和选中的顺序
9.2 图形元素的删除
9.2.1 实现可恢复的图形元素删除方法
9.2.2 即时从屏幕上删除图形
9.2.3 各种图形元素的删除实现
9.2.4 实现图形元素删除功能
9.3 实现Draw系统文档操作逆向化
9.3.1 逆向操作的含义
9.3.2 记录文档操作过程
9.3.3 实现文档逆向操作
9.3.4 实现操作过程的完全逆向化
第10章 文档的存储和读取
10.1 利用CFile对象存储和读取文件
10.1.1 构造和删除一个CFile对象
10.1.2 CFile类的主要操作
10.1.3 CFile的派生类
10.2 利用串行化存取文档
10.2.1 CArchive类及CArchive对象的构造
10.2.2 Serialize函数
10.2.3 CObArray类的serialize函数
10.3 用串行化实现Draw系统的文档存储和读取功能
10.3.1 实现各处图形元素类的串行化
10.3.2 MFC框架程序的文档串行化机制
10.3.3 实现文档的存储和读取
10.3.4 SetModifiedFlag函数
10.4 用CFile对象实现Draw系统文档的存储和读取
10.4.1 在各个图形类中增加一个存取数据成员的函数
10.4.2 实现文档的存储和读取
第11章 使用剪裁板
11.1 剪裁板使用方法
11.1.1 打开、关闭、清空剪裁板
11.1.2 存取剪裁板
11.1.3 注册和检查剪裁板格式
11.2 用剪裁板实现Draw系统剪裁和粘贴图像的功能
11.2.1 增加操作菜单
11.2.2 剪裁视图到剪裁板
11.2.3 插入剪裁板的位图到当前视图
11.3 用剪裁板实现Draw系统中矢量图形元素的剪裁、移动和复制
11.3.1 实现各图形元素数据的字符串表示
11.3.2 将要剪载的图形元素数据写入剪裁板
11.3.3 从剪裁板中读出数据成员形成图形元素对象
11.3.4 实现Draw系统的Cut、Copy和Paste操作功能
第12章 多视图、多文档编程
12.1 单文档和多文档应用程序比较
12.1.1 用MFC AppWizard产生程序框架比较
12.1.2 程序框架类比较
12.1.3 标准菜单比较
12.2 单文档应用程序分析
12.2.1 建立文档模板对象
12.2.2 打开文档操作
12.2.3 关闭文档操作
12.2.4 保存文档操作
12.3 多文档应用程序分析
12.3.1 建立文档模板对象
12.3.2 打开文档
12.3.3 关闭和保存文档
12.3.4 创建视图
12.4 多文档、多视图编程注意事项
12.4.1 全局变量的使用
12.4.2 共享资源的使用
12.4.3 多文档、多视图应用程序文档和视图类数据成员的组织
第13章 多线程编程
13.1 管理线程的技术
13.1.1 设置开发环境参数
13.1.2 启动及终止线程
13.1.3 管理线程
13.2 线程中使用MFC类对象
13.2.1 线程中共享数据及对象
13.2.2 线程中使用主线程的视图类和文档类对象
13.2.3 使用CDC类对象
13.2.4 使用CGdiObject类对象
13.3 线程的同步化方法
13.3.1 线程同步化概念
13.3.2 使用互斥信号灯同步化线程
13.3.3 其他同步化方法
13.3.4 其他同步化类型
13.4 实现Draw系统的图形后台绘制
13.4.1 实现一个图形绘制线程
13.4.2 实现同步化
第14章 图形打印和打印预显
14.1 视图打印实现过程分析
14.1.1 视图打印的机理
14.1.2 视图打印过程分析
14.2 实现Draw系统的多坐标系无级打印和打印预显功能
14.2.1 进行分页
14.2.2 打印标题、注脚等其他信息
14.2.3 任意比例分页打印的具体实现
14.2.4 打印预显
第15章 显示位图
15.1 位图文件的格式
15.2 CBitmap类及CBitmap类对象的初始化方法
15.2.1 CBitmpa类简介
15.2.2 初始化CBitmap类对象的方法
15.3 显示位图的步骤和主要的位操作函数
15.3.1 显示位图的步骤
15.3.2 位操作函数
15.4 显示位图的函数实现
15.4.1 显示装裁在资源文件中的位图
15.4.2 通过HBITMAP句柄装载显示位图文件
15.4.3 用画点法选择装入位图数据显示位图
第16章 使用工具条、状态条、对话条及加速键
16.1 使用工具条
16.1.1 工具条的实现过程
16.1.2 为Draw系统创建一个绘图工具条
16.2 使用状态条
16.2.1 状态条的实现过程
16.2.2 为Draw系统在状态条中增加坐标跟踪提示
16.3 使用对话条
16.3.1 对话条的实现过程
16.3.2 在Draw系统中实现设置绘图参数的对话框
16.4 加速键等的实现方法
16.4.1 使用CCmdUI消息处理函数
16.4.2 修改命令交互对象的命令描述
16.4.3 设置加速键
第17章 使用和开发DLL
17.1 DLL的使用
17.1.1 DLL的特点
17.1.2 Windows中的DLL
17.1.3 MFC库中的DLL
17.1.4 DLL的文件组成
17.1.5 使用DLL的方法
17.2 VC++ 5.0能够开发的基于MFC的DLL种类
17.2.1 通常形式的静态使用MFC的DLL
17.2.2 通常形式的动态使用MFC的DLL
17.2.3 扩展DLL
17.3 调整开发平台设置来开发和调试DLL
17.3.1 管理多个程序项目
17.3.2 调整DLL开发项目和使用DLL项目的路径设置
17.4 在Draw系统中开发和使用DLL
17.4.1 利用通常形式的静态DLL实现标注字体设置对话框
17.4.2 利用通常形式的动态DLL实现标注字体设置对话框
17.4.3 利用扩展DLL实现标注字体设置对话框
第18章 OLE编程
18.1 OLE使用技术
18.1.1 OLE主要术语
18.1.2 OLE服务器应用程序调用的方式和实现
18.1.3 MFC中的主要OLE类
18.1.4 MFC AppWizard创建的OLE程序框架
18.2 OLE包容器应用程序设计
18.2.1 程序框架组成
18.2.2 OLE条目的文档组织
18.2.3 增加和删除OLE条目
18.2.4 OLE条目绘制过程
18.2.5 OLE条目的选中和拖动
18.2.6 OLE条目的可视原位编辑
18.2.7 OLE条目的存取
18.3 在Draw系统中实现OLE包容器功能
18.3.1 给OLE条目类增加数据成员
18.3.2 绘制OLE条目
18.3.3 增加OLE条目
18.3.4 OLE条目的选中和拖动
18.3.5 对OLE条目进行清除选中和删除操作
18.3.6 编辑OLE条目
18.3.7 保存OLE条目
18.4 OLE服务器程序开发技术分析
18.4.1 程序类分析
18.4.2 交互操作界面分析
18.4.3 视图分析
18.4.4 文档分析
18.5 开发OLE混合应用程序
18.5.1 程序类分析
18.5.2 交互操作界面分析
18.5.3 文档组织分析
18.6 Automation支持
18.6.1 术语
18.6.2 Automation方法的定义和使用
18.6.3 Automation属性的定义和使用
18.6.4 OLE自动化包容器获得OLE自动化服务器接口的方法
第19章 ActiveX控件的开发及使用
19.1 ActiveX控件特点、构成及开发技术分析
19.1.1 ActiveX控件的特点
19.1.2 用MFC AppWizard产生ActiveX控件开发程序框架
19.1.3 ActiveX控件的主要开发工作
19.2 开发ActiveX控件的Automation属性和方法
19.2.1 开发Automation属性的方法的程序框架
19.2.2 增加一个库存属性
19.2.3 增加其他Automation属性和方法
19.3 开发ActiveX控件的事件
19.3.1 开发事件的程序框架
19.3.2 增加库存事件
19.3.3 增加和激发定制事件
19.4 开发ActiveX控件的属性页
19.4.1 属性页开发的程序框架
19.4.2 属性页的开发
19.5 开发一个直线ActiveX控件实例
19.5.1 给控件增加Automation属性
19.5.2 给控件增加Automation方法
19.5.3 给控件增加事件
19.5.4 完成控件的绘制
19.5.5 激发事件
19.5.6 完成控件的属性页开发
19.5.7 ActiveX控件的编译及注册
19.6 ActiveX控件的测试和使用
19.6.1 VC++提供的测试容器程序
19.6.2 在对话框中使用ActiveX控件
第20章 实现系统的帮助功能
20.1 开发帮助功能的程序框架
20.1.1 MFC应用程序中帮助功能的程序代码组成
20.1.2 MFC应用程序的标准帮助功能及其实现
20.2 求助主题组织
20.2.1 组织求助主题的普通显示内容
20.2.2 组织求助主题的标识
20.2.3 组织求助主题中的跳转
20.2.4 使用Word编辑RTF文件可能出现的问题
20.3 组织帮助项目文件prj
20.3.1 求助项目文件中常用的节
20.3.2 其他一些在HPJ文件中使用的节
20.4 实现Draw系统的帮助功能
20.4.1 创建每个菜单项的求助主题页
20.4.2 创建菜单的求助目录主题页并与帮助文件的主目录主题连接
20.4.3 测试新增帮助功能
第21章 矢量图形系统Draw的源代码列表
21.1 Draw系统的主要功能
21.2 Draw系统的原代码文件列表
21.2.1 Draw系统开发过程中增加或做过修改的文件
21.2.2 drawdoc.h和drawdoc.cpp文件列表
21.2.3 视图类的drawview.h和drawview.cpp文件
21.2.4 主框架类的mainfrm.h和mainfrm.cpp文件
21.2.5 OLE条目控制类的ctrlitem.h和ctrlitem.cpp文件
21.2.6 对话框类的textwritedlg.h和textwritedlg.cpp文件
附录 A 本书所附光盘的内容及技术支持
附录 B 参考书目
猜您喜欢