《学用Visual C++ 6.0开发Active X模板库》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)(N.沃伦斯)Nathan Wallance著;周家纪等译
  • 出 版 社:成都:电子科技大学出版社
  • 出版年份:2000
  • ISBN:7810653393
  • 页数:306 页
图书介绍:

引言 1

第一章 COM简介 1

1-1 什么是COM? 1

1-2 COM是怎样产生的? 2

1-3 为什么需要COM? 3

1-4 COM工作机制 5

1-4-1 COM服务器 6

1-4-2 COM ClassFactory 6

1-4-3 COM接口 6

1-4-4 COM参考计数 6

1-4-5 Windows的COM系统 7

1-4-6 COM客户 7

1-5 静态COM,动态Automation 7

1-6 Automation使COM向计算机界开放 8

1-7 从Automation到OCX、ActiveX 9

1-8 ActiveX 控件是带用户接口的Automation服务器 11

1-9 Stock属性和使ActiveX控件行为标准化的属性页 12

1-10 连接点允许事件从ActiveX控件发送到容器 13

1-11 Persistence允许ActiveX控件随时存贮它们的状态 14

1-12 下一步工作 15

第二章 ATL简介 16

2-1 Visual C++中的ATL 16

2-1-1 老版本Visual C++的ATL 16

2-1-2 ATL的在线文档 17

2-2 用ATL AppWizard生成ATL项目 18

2-2-1 New对话框 18

2-2-2 ATL AppWizard 18

2-2-3 确认对话框 19

2-3 应用ATL对象向导添加COM接口 20

2-3-1 对象向导对象 20

2-3-2 对象向导控件 20

2-3-3 对象向导Miscellaneous元素 21

2-3-4 对象向导Data Access元素 21

2-3-5 对象向导名标签(Object Wizard Name Tab) 22

2-3-6 对象向导属性标签(Object Wizard Attributes Tab) 22

2-3-7 其它对象向导标签 23

2-4 使用ATL Interface Wizards生成函数和属性 23

2-4-1 Class View Shortcut Menu 23

2-4-2 添加方法对话框(Add Method Dialog) 24

2-4-3 添加属性对话框(Add Property Dialog) 25

2-4-4 编辑属性对话框(Edit Attributes Dialog) 25

2-5 ATL项目的优先方题 26

2-5-1 代理生成器 26

2-5-2 高级服务器 26

2-5-3 OLE DB Providers 26

2-6 ATL代码(模板和宏) 27

2-6-1 模板用标准C++代码生成常见类 27

2-6-2 宏展开为常用代码 27

2-7 ATL3.0版本的新变化 27

2-7-1 3.0版本对AppWizard的改变 27

2-7-2 3.0版本对ATL ObjectWiard的改变 28

2-7-3 3.0版本对ClassView Context Menus的改变 31

2-7-4 增加窗口消息手柄选项 31

2-7-5 实施连接点选项(Implement Connection Point) 32

2-7-6 执行接口选项(Implement Interface) 33

2-8 下一步的工作 34

第三章 创造COM服务器 35

3-1 为什么要编写COM服务器? 35

3-1-1 COM服务器与DLL的对比 35

3-1-2 如今COM服务器无处不在 36

3-2 COM服务器如何工作 36

3-2-1 服务器本身 36

3-2-2 接口和它的函数 38

3-2-3 ClassFactory 38

3-2-4 参数而非属性 39

3-2-5 GUIDs和HRESULTs 39

3-3 服务器内部的服务器 40

3-3-1 接口继承问题 40

3-3-2 包含是简单的方法 41

3-3-3 复杂但高效的集合 41

3-3-4 ATL对包含和集合都提供支持 42

3-5 ATL服务器类型 42

3-5-1 DLL服务器 42

3-5-2 EXE服务器 43

3-6 ATL对象类型 43

3-6-1 简单对象 43

3-6-2 IE(Internet Explorer)对象 43

3-6-3 特殊对象 44

3-7 创建可集合简单COM服务器EXE 44

3-7-1 按步解释 44

3-7-2 按行说明 48

3-8 创建一个非集合简单COM服务器EXE 50

3-8-1 按步解释 50

3-8-2 按行说明 54

3-9 创建一个包含IE(Internet Explorer)的COM的服务器 57

3-9-1 按步解释 57

3-9-2 按行说明 63

3-10 创建一个集合IE COM服务器 77

3-10-1 按步解释 77

3-10-2 按行说明 82

3-11 下一步的工作 96

第四章 建立COM客户 97

4-1 COM系统 97

4-1-1 CoInitialize 97

4-1-2 CoCreateinstance 97

4-1-3 CoUninitialize 97

4-2 C++ COM客户 98

4-2-1 启动和停止COM系统 98

4-2-2 用头文件使用接口指针 98

4-2-3 用智能指针使用接口指针 98

4-3 非C++ COM客户 99

4-3-1 像接口指针一样生成COM服务器对象 99

4-3-2 接口函数调用 99

4-3-3 错误处理 100

4-4 ATL COM客户 100

4-4-1 把EXE服务器变成EXE客户 100

4-4-2 修改tWinMain 100

4-4-3 在ATL项目中使用对话框 100

4-5 FrontPage Express COM客户 101

4-5-1 FrontPage Express随IE4.0免费提供 101

4-5-2 把FPE的ActiveX Wizard用于COM服务器 101

4-5-3 用FPE编写VBScirpt代码 101

4-6 在ATL中用智能指针创建COM客户 102

4-6-1 按步解释 102

4-6-2 按行说明 104

4-6-3 按步解释 109

4-7 用FPE在HTML中建立一个COM客户 110

4-7-1 按行说明 110

4-7-2 按步解释 112

4-8 下一步工作 113

第五章 开发Automation服务器 114

5-1 Automation做些什么 114

5-1-1 C++专有的COM俱乐部 114

5-1-2 对接口的早捆绑与晚捆绑的比较 115

5-1-3 现在每一个人都可以使用动态函数 115

5-2 Automation是如何工作的? 115

5-2-1 Dispinterfaces和Interfaces的比较 116

5-2-2 双接口具备两者的优点 116

5-2-3 IDispatch是Automation的核心 116

5-2-4 GetlDsOfNames容许晚捆绑 117

5-2-5 Invoke使Automation发生 117

5-3 属性为Automation服务器提供数据储存 118

5-3-1 属性和方法与函数的比较 118

5-3-2 用户提供储存器,Automation提供方法 118

5-3-3 Automation数据类型 118

5-3-4 与类型库同时连接 119

5-4 ATL通过缺省值建立Automation服务器 119

5-4-1 双接口是缺省设置 119

5-4-2 手工建立Dispinterfaces 119

5-4-3 ATL自动建立TLB文件 120

5-5 Automation客户需要ATL代理生成器 120

5-5-1 智能指针需要帮助 120

5-5-2 ATL代理生成器与问题的解决 120

5-6 在ATL中建立一个Dispinterface Automation服务器 120

5-6-1 按步解释 121

5-6-2 按行说明 127

5-7 在ATL中建立一个双接口Automation服务器 142

5-7-1 按步解释 142

5-7-2 按行说明 148

5-8 用智能指针建立Automation客户 161

5-8-1 按步解释 161

5-8-2 ATL3.0不再支持代理生成器 165

5-8-3 按行说明 166

5-9 在ATL中用静态调用建立Automation客户 173

5-9-1 按步解释 173

5-9-2 按步说明 176

5-9-3 按步解释 180

5-10 用FPE 在HTML中建立一个Automation客户 180

5-10-1 按行说明 181

5-10-2 按步解释 183

5-11 下一步工作 184

第六章 创建Internet Explorer ActiveX控件 185

6-1 ActiveX控件为Automation服务器提供用户接口 185

6-1-1 复合文件是COM用户接口 185

6-1-2 VBX控件疾风暴雨似地占领了市场 186

6-1-3 OCX控件通过Java变成了ActiveX控件 186

6-2 ATL支持轻量级的IE ActiveX控件对象 186

6-2-1 IE控件与Full控件的比较 186

6-2-2 确实只有你的浏览器知道 187

6-3 ActiveX控件在ATL中有许多选项 187

6-3-1 透明和实心控件描绘形式 187

6-3-2 运行时的不可见性 187

6-3-3 Input Focus处理选项 187

6-3-4 WINDOWS 控件子类选项 187

6-3-5 绘图优化 187

6-3-6 OLE支持 188

6-3-7 Windowless与Windowed的比较 188

6-4 用ATL建立一个加密和解密IE/Lite控件 188

6-4-1 按步解释 188

6-4-2 按行说明 194

6-5 用ATL建立一个透明的IE控件标签 209

6-5-1 按步解释 209

6-5-2 按行说明 212

6-6 用ATL建立Edit IE控件 213

6-6-1 按步解释 213

6-7 用ATL3建立一个Lite Composite控件 216

6-7-1 按步解释 216

6-7-2 按行说明 220

6-8 在HTML中用ActiveX控件台建立ActiveX控件客户 224

6-8-1 按步解释 224

6-9 下一步的工作 230

第七章 创建Full ActiveX控件 231

7-1 全控件具有但IE控件不具有的属性 231

7-1-1 快速激活 231

7-1-2 嵌入对象和类型信息 231

7-1-3 持久性 232

7-1-4 属性页 232

7-2 ActiveX控件支持固化的和外部的属性和方法 232

7-2-1 ActiveX控件需要一致性的外观和感觉 232

7-2-2 固化属性使ActiveX控件的属性和方法标准化 233

7-2-3 外部属性使ActiveX控件更加适用 234

7-3 利用持久性保存ActiveX控件的状态 234

7-3-1 状态信息需要以统一的方式保存 235

7-3-2 复合文档技术过于复杂 235

7-3-3 持久性是ActiveX寻找的答案 236

7-4 基于存储的持久性 236

7-4-1 “存储仓”类似于文件夹 236

7-4-2 “流”类似于文件 236

7-5 基于属性包的持久性 237

7-5-1 属性包由容器执行 237

7-5-2 属性包形式自由 237

7-6 WORD使用基于存储的持久性 237

7-6-1 如果一个ActiveX控件是可插入的,Word就可支持其数据 238

7-7 ActiveX Control Pad中使用基于属性包的持久性 238

7-7-1 HTML使用<PARAM>标签支持属性包 238

7-8 ATL Full ActiveX控件的绘制问题 238

7-8-1 窗口的有无 238

7-8-2 规则化设备上下文 239

7-9 Full ActiveX控件的尺寸问题 239

7-9-1 ActiveX控件改变大小的方式 239

7-9-2 ATL对大小改变的支持 239

7-10 使用ATL创建Panel全控件 240

7-10-1 按步解释 240

7-10-2 按行说明 246

7-11 使用ActiveX Control Pad在HTML中测试ATLPanel控件 255

7-11-1 按步解释 255

7-11-2 按行说明 255

7-11-3 按步解释 256

7-12 下一步的工作 257

第八章ActiveX控件的属性页 258

8-1 什么是属性页? 258

8-1-1 属性页是ActiveX控件属性的用户接口 258

8-1-2 在开发环境中使用属性页 259

8-1-3 属性页需要持久性的支持来保存它们的数据 259

8-2 属性页是如何工作的 259

8-2-1 属性页使用COM接口 259

8-2-2 属性页创建一个特殊的对话框资源 260

8-2-3 容器提供标签对话框和按钮 260

8-3 在ATL中执行属性页 260

8-3-1 属性页ATL对象 260

8-3-2 编辑对话框资源 260

8-3-3 使用代码完成连接 261

8-4 固化属性页 261

8-4-1 某些属性具有自动的属性页支持 261

8-4-2 你不动手ATL也为你添加代码事件 261

8-5 使用ATL为Panel控件添加属性页支持 262

8-5-1 按步解释 262

8-5-2 按行说明 264

8-5-3 ATL3.0和Visual C++6及对象向导 270

8-6 使用ActiveX Control Test Container测试Panel的属性页 270

8-6-1 按步解释 270

8-7 下一步的工作 272

第九章ActiveX控件的事件 273

9-1 事件是应用程序之间的通告 273

9-1-1 用户输入需要通告 273

9-1-2 状态改变需要通告 273

9-1-3 Windows的方式是使用回调函数 273

9-2 Windows事件就是消息 274

9-2-1 Windows消息的体系结构 274

9-2-2 消息泵 274

9-2-3 Windows事件管理 274

9-3 ActiveX事件采用接口处理 275

9-3-1 连接问题 275

9-3-2 接口是解决方案 275

9-3-3 一个关于地形(topography)的新问题 275

9-4 IConnectionPoint接口 275

9-4-1 从控件角度来看IConnectionPoint是如何工作的 275

9-4-2 从容器角度来看IConnectionPoint是如何工作的 276

9-5 IConnectionPointContainer接口 276

9-5-1 从控件角度来看IConnectionPointContainer是如何工作的 276

9-5-2 从容器角度来看IConnectionPointContainer是如何工作的 277

9-6 ATL如何支持Windwos事件 277

9-6-1 消息映射 277

9-6-2 事件管理 277

9-7 ATL如何支持ActiveX事件 278

9-7-1 连接点映射(Connection Point Maps) 278

9-7-2 IDL 278

9-7-3 使用代理生成器需要一个TLB文件 278

9-7-4 代理类被引入到控件文件需要的地方 278

9-8 为ATLPanel控件项目添加事件支持 278

9-8-1 按行说明 279

9-8-2 按步解释 290

9-8-3 按行说明 293

9-9 用Active Control Pad在HTML中测试ATLPanel控件的事件 302

9-9-1 按行说明 303

9-9-2 按步解释 304

9-10 ATL3.0的Connection Point Wizard 304

9-11 下一步的工作 305

关于光盘 306