目录
第1部分 ActiveX简介
第1章 什么是ActiveX
1.1 应用程序开发的Internet策略
1.2 ActiveX、OLE和Internet
1.3 ActiveX组件的类型
1.3.1 自动化服务器
1.3.2 自动化控制器
1.3.3 控件
1.3.4 COM对象
1.3.5 文档
1.3.6 容器
1.4 小结
第2章 ActiveX的功能
2.1 定义应用程序的需求
2.2 你需要哪种类型的ActiveX组件
2.2.1 自动化服务器和控制器
2.2.2 ActiveX控件
2.2.3 COM对象
2.3 为合适的工作选择合适的工具
2.3.1 Microsoft基本类
2.3.2 ActiveX模板库
2.3.3 BaseControl框架
2.3.4 建立自己的框架
2.4 ActiveX组件的基本结构
2.4.1 ActiveX自动化服务器
2.4.2 ActiveX控件
2.5 支持ActiveX组件开发的工具
2.5.1 MIDL编译器
2.5.2 Mktyplib
2.5.3 GUIDGEN
2.5.4 RegEdit
2.5.5 注册服务器
2.5.6 Ole2View
2.5.7 将工具加到VisualC十十的开发环境
2.6 小结
第2部分 ActiveX自动化服务器
第3章 用MFC生成ActiveX自动化服务器
3.1 生成基本项目
3.2 给应用程序增加自动化接口
3.3 注册表
3.3.1 服务器的注册
3.3.2 服务器的注销
3.4 服务器支持代码示例
3.5 增加方法
3.6 增加属性
3.7 产生OLE异常
3.8 双接口
3.9 生成双接口OLE异常
3.10 使用C十十的服务器实例化
3.11 共享服务器
3.12 单实例服务器
3.13 小结
第4章 用ATL生成ActiveX自动化服务器
4.1 生成基本项目
4.2 给应用程序增加自动化接口
4.3 注册表
4.4 服务器支持代码示例
4.5 增加方法
4.6 增加属性
4.7 产生OLE异常
4.8 双接口
4.9 生成双接口OLE异常
4.10 使用C十十的服务器实例化
4.11 共享服务器
4.12 单实例服务器
4.13 小结
第5章 用BaseCtl生成Activex自动化服务器
5.1 创建基本项目
5.2 注册表
5.3 服务器支持代码示例
5.4 增加方法
5.5 增加属性
5.6 产生OLE异常
5.7 双接口
5.8 生成双接口OLE异常
5.9 使用C十十的服务器实例化
5.10 共享服务器
5.11 单实例服务器
5.12 用户接口和事件
5.13 小结
第3部分 ActiveX控件
第6章 使用MFC创建基本的ActiveX控件
6.1 创建基本的控件项目
6.2 控件注册
6.3 创建方法
6.4 属性
6.4.1 创建普通用户定义属性
6.4.2 创建参数化用户定义属性
6.4.3 创建Stock属性
6.4.4 使用Ambient属性
6.4.5 创建属性表
6.5 添加事件
6.6 持久性
6.7 绘制控件
6.7.1 标准绘制
6.8 小结
第7章 使用MFC开发高级ActiveX 控件
7.1 属性
7.1.1 创建异步属性
7.1.2 静态和动态属性枚举
7.2 绘制控件
7.3 增加剪贴板和拖放支持
7.3.1 剪贴板支持
7.3.2 拖放支持
7.4 定制剪贴板和拖放格式
7.5 继承现有Windows控件
7.6 双接口控件
7.7 其他ActiveX特性
7.7.1 无窗口特性
7.2.2 无闪特性
7.7.3 无夹设备上下文
7.7.4 非活动状态时鼠标光标通知
7.8 小结
第8章 使用ATL创建基本ActiveX控件
8.1 创建基本的控件项目
8.2 控件注册
8.3 创建方法
8.4 属性
8.4.1 创建普通用户定义属性
8.4.2 创建参数化用户定义属性
8.4.3 创建Stock属性
8.4.4 使用Ambient属性
8.4.5 创建属性表
8.5 添加事件
8.6 持久性
8.7 绘制控件
8.7.1 标准绘制
8.8 小结
第9章 用ATL扩展高级ActiveX控件
9.1 属性
9.1.1 创建异步属性
9.2 静态和动态属性枚举
9.3 绘制控件
9.3.1 优化绘制
9.4 添加剪贴板和拖放支持
9.4.1 剪贴板支持
9.5 拖放支持
9.6 自定义剪贴板和拖放格式
9.7 继承已有的Windows控件
9.8 双接口控件
9.9 其他的ActiveX特性
9.9.1 无窗口特性
9.9.2 无抖动特性
9.9.3 不活动时的鼠标指针通知
9.9.4 优化绘制代码
9.9.5 异步装载属性
9.10 小结
第10章 使用BaseCtl创建基本的ActiveX控件
10.1 创建基本的控件项目
10.2 控件注册
10.3 创建方法
10.4 创建属性
10.4.1 创建普通的用户自定义属性
10.4.2 创建参数化的用户自定义属性
10.4.3 创建公共属性
10.4.4 使用环境属性
10.4.5 创建属性单
10.5 添加事件
10.6 持久性
10.6.1 文本持久性
10.6.2 二阶段持久性
10.7 绘制控件
10.7.1 标准绘制
10.8 小结
第11章 使用BaseCtl开发高级的ActiveX控件
11.1 创建属性
11.1.1 创建异步属性
11.1.2 静态和动态属性枚举
11.2 绘制控件
11.2.1 优化绘制
11.3 添加剪贴板和鼠标拖放支持
11.3.1 剪贴板支持
11.3.2 添加鼠标拖放支持
11.3.3 自定义的剪贴板和鼠标拖放格式
11.4 继承已有的Windows控件
11.5 双接口控件
11.6 其他的ActiveX特性
11.6.1 无窗口式特性
11.6.2 非省略式设备描述表
11.6.3 无闪烁特性
11.6.4 不活动时的鼠标指针通知
11.6.5 优化绘制代码
11.6.6 异步装载属性
11.7 小结
第4部分 COM对象和自定义接口
第12章 使用MFC创建ActiveXCOM对象和自定义接口
12.1 COM对象剖析
12.2 建构COM对象所需的工具
12.2.1 MIDL编译器
12.2.2 GUIDGEN
12.2.3 RegEdit
12.2.4 注册服务器
12.2.5 在VisualC十十开发环境中加入这些工具
12.3 使用IDL定义COM接口
12.3.1 创建IFISH项目
12.3.2 创建接口定义
12.3.3 编译接口定义文件
12.3.4 创建定义文件
12.3.5 将RPC 库加入接口项目中
12.3.6 注册接口
12.4 实现接口
12.4.1 使用VisualC十十AppWizard来创建COM对象
12.4.2 存取进程内COM对象
12.4.3 创建实现COM接口的类
12.5 使用接口
12.5.1 OLE初始化和终止函数
12.5.2 COM对象存取函数
12.6 小结
第13章 使用ATL创建ActiveXCOM对象和自定义接口
13.1 使用ActiveX模板库的好处
13.1.1 支持多种服务器类型
13.2 ATL支持的线程模式
13.2.1 可分离接口
13.2.2 实现接口集合
13.2.3 对错误处理的内置支持
13.3 使用ATL创建COM服务器
13.3.1 使用ATLCOMWizard创建COM服务器
13.3.2 检查ATLCOMAppWizard的结果
13.3.3 实现COM服务器访问函数
13.3.4 使用IDL创建对象定义
13.3.5 实现COM接口
13.3.6 使用对象映射指定COM对象
13.4 何时使用ActiveX模板库
13.5 小结
第14章 创建自己的ActiveXCoM对象和自定义接口
14.1 创建基本的进程内服务器
14.1.1 创建项目定义文件
14.1.2 自定义COM服务器结构
14.2 创建COM类COBass
14.3 实现COBass类工厂
14.4 服务器应用程序的实现
14.5 实现服务器访问函数
14.6 编译和测试COM服务器
14.7 小结
第5部分 使用自己的组件和高级话题
第15章 测试和使用自己的组件
15.1 ActiveX容器和控制器
15.1.1 使用VisualBasic作为容器
15.1.2 使用MicrosoftVisualC十十作为容器
15.1.3 HTML和Web浏览器
15.1.4 ActiveXControlPad
15.1.5 使用MicrosoftAccess,Word和Excel应用程序作为ActiveX控件的容器
15.2 用于测试组件的工具
15.2.1 VisualC十十ActiveX控件测试容器
15.2.2 用户
15.2.3 自动工具
15.3 小结
第16章 高级话题
16.1 Internet
16.1.1 Internet安全性
16.1.2 软件签名
16.1.3 Internet脚本
16.1.4 Internet组件下载
16.1.5 电子贸易
16.2 高级COM
16.2.1 使用C十十虚函数表描述接口
16.2.2 使用集合重用ActiveX对象
16.2.3 枚举器
16.3 有关本章示例的说明
16.4 分布式组件对象模型(DCOM)
16.5 OLEDB
16.6 线程
16.6.1 单线程与多线程
16.7 未来展望
16.8 小结