当前位置:首页 > 工业技术
Visual C++实践与提高  ActiveX篇
Visual C++实践与提高  ActiveX篇

Visual C++实践与提高 ActiveX篇PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:宇鹏等编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2001
  • ISBN:7113040063
  • 页数:339 页
图书介绍:本书共分三部分,主要从ActiveX技术的基本知识开始,由浅入深地介绍了ActiveX技术的各个方面,并详细地讲解了如何使用VC++6.0开发ActiveX组件。
《Visual C++实践与提高 ActiveX篇》目录

第1章 ActiveX概述 1

1.1 ActiveX的发展历史 1

1.2 ActiveX、OLE和Internet 2

1.3 ActiveX组件的类型 3

1.3.1 ActiveX服务器 3

1.3.1.1 什么是ActiveX服务器 3

1.3.1.2 ActiveX服务器的分类 3

1.3.2 ActiveX容器 4

1.3.2.1 什么是ActiveX容器 4

1.3.2.2 ActiveX容器/服务器 4

1.3.3 ActiveX自动化服务器 4

1.3.3.1 什么是ActiveX自动化 4

1.3.3.2 ActiveX自动化服务器的分类 5

1.3.4 ActiveX自动化控制器 6

1.3.5 ActiveX控件 6

1.3.5.1 什么是ActiveX控件 6

1.3.5.2 ActiveX控件发展的历史 6

1.3.6 COM组件 7

1.4 选择和实现ActiveX组件的策略 7

1.4.1 ActiveX自动化服务器和控制器 7

1.4.2 ActiveX控件 8

1.4.3 COM对象 8

1.5 小结 9

第2章 开发ActiveX的工具 11

2.1 选择合适的开发工具 11

2.1.1 Microsoft基础类库(MFC) 11

2.1.2 Active模板库(ATL) 12

2.1.3 BaseControl框架(BaseCtl) 12

2.1.4 建立自己的框架 13

2.1.5 开发工具小结 13

2.2 注册表和注册表编辑器 13

2.2.1 注册表发展的历史 14

2.2.1.1 统一记录在SYSTEM.INI和WIN.INI中 14

2.2.1.2 记录在自己的INI文件中 14

2.2.1.3 记录在注册表中 14

2.2.2 注册表的结构 15

2.2.2.1 注册表的结构划分及相互关系 15

2.2.2.2 六大根键的作用 16

2.2.2.3 ActiveX组件信息在注册表中的位置 17

2.2.3 注册表编辑器的一些基本操作 17

2.2.3.1 查找 17

2.2.3.2 创建键和键值 18

2.3 开发ActiveX的一些实用工具 19

2.3.1 MIDL编译器 19

2.3.2 Mktypelib编译器 19

2.3.3 GUIDGEN 19

2.3.4 注册服务器 20

2.3.5 OLE/COM对象浏览器 21

2.3.6 如何将工具加到VC++的开发环境中 22

2.4 小结 22

第3章 ActiveX的基础——COM 23

3.1 COM概述 23

3.1.1 什么是COM 23

3.1.2 COM技术的发展历程 24

3.1.3 COM结构 25

3.1.3.1 对象与接口 25

3.1.3.2 客户/服务器模型 26

3.1.3.3 COM库 27

3.1.4 COM特性 27

3.1.4.1 语言无关性 27

3.1.4.2 进程透明特性 28

3.1.4.3 可重用性 29

3.1.5 COM对象的基本知识 29

3.1.5.1 COM对象的标识——CLSID 30

3.1.5.2 COM对象与C++对象的比较 31

3.1.6 COM接口的特点 32

3.1.6.1 二进制特性 32

3.1.6.2 接口不变性 33

3.1.6.3 继承性(扩展性) 33

3.1.6.4 多态性 33

3.2 COM与ActiveX相关的技术 34

3.2.1 可连接对象 34

3.2.2 结构化存储 34

3.2.3 命名与绑定技术 37

3.2.4 统一数据传输 39

3.2.4.1 数据交换与传输协议的分离 40

3.2.4.2 剪贴板和拖—放操作 41

3.3 小结 42

第4章 使用MFC开发ActiveX服务器 43

4.1 ActiveX服务器功能演示 43

4.1.1 单独运行程序 43

4.1.2 在注册表中登记 44

4.1.3 链接和嵌入对象 44

4.1.3.1 什么是链接和嵌入 44

4.1.3.2 嵌入对象 45

4.1.3.3 链接对象 46

4.1.4 在位编辑和开放编辑 46

4.1.4.1 在位编辑 46

4.1.4.2 开放编辑 47

4.1.5 使用剪贴板和拖—放操作 48

4.1.5.1 使用剪贴板 48

4.1.5.2 使用拖—放操作 48

4.2 实现一个最简单的ActiveX服务器 49

4.2.1 创建一个ActiveX服务器 49

4.2.2 程序结构分析 54

4.2.2.1 基本程序框架结构 54

4.2.2.2 应用程序类 54

4.2.2.3 主窗口类 55

4.2.2.4 子窗口类 55

4.2.2.5 文件类 55

4.2.2.6 视图类 56

4.2.2.7 在位框架类 56

4.2.2.8 服务器对象类 56

4.2.2.9 应用程序资源 57

4.2.3 编译运行 57

4.3 在应用程序类中初始化ActiveX服务器 59

4.4 在文件类中添加对服务器的支持 61

4.4.1 登记剪贴板格式 61

4.4.2 创建或编辑嵌入对象 62

4.4.3 查找链接项 63

4.4.4 设置在位编辑窗口矩形 64

4.5 实现服务器对象 65

4.5.1 绘制对象 66

4.5.1.1 在文件类中实现绘制 66

4.5.1.2 在服务器对象类中得到文件的指针 67

4.5.1.3 在服务器对象类中实现绘制 68

4.5.2 获得对象的大小 68

4.5.3 获取剪贴板对象 69

4.6 在视图类中实现在位编辑 71

4.6.1 设置绘图模式 72

4.6.2 实现绘制操作 72

4.7 在视图类中实现剪贴板操作 72

4.7.1 复制 72

4.7.2 剪切 75

4.7.3 粘贴 75

4.8 在视图类中实现拖—放操作 76

4.8.1 登记拖—放目标对象 76

4.8.2 添加成员变量记录拖—放类型 78

4.8.3 实现拖—放 79

4.8.3.1 处理鼠标左键消息 79

4.8.3.2 重载OnDragEnter函数 80

4.8.3.3 重载OnDragOver函数 80

4.8.3.4 重载OnDragLeave函数 81

4.8.3.5 重载OnDrop函数 81

4.9 小结 81

第5章 使用MFC开发ActiveX容器 83

5.1 概述 83

5.2 ActiveX容器功能演示 83

5.2.1 插入对象 83

5.2.2 支持链接和嵌入对象的在位编辑 85

5.2.3 剪贴板操作 85

5.2.4 编辑和更新链接 85

5.2.5 查看和修改对象的属性 86

5.2.5.1 转换对象的格式 87

5.2.5.2 改变对象大小 87

5.2.5.3 更改图标 88

5.2.5.4 编辑和更新链接 89

5.3 实现一个最简单的ActiveX容器 89

5.3.1 创建一个ActiveX容器 89

5.3.2 程序结构分析 93

5.3.2.1 基本程序框架结构 93

5.3.2.2 容器对象类 94

5.3.2.3 应用程序资源 94

5.3.3 编译运行 95

5.4 实现容器对象 95

5.4.1 记录对象的位置和大小 96

5.4.1.1 添加成员变量 96

5.4.1.2 得到对象的位置和大小 96

5.4.1.3 改变对象的位置 98

5.4.2 改变容器对象的状态 99

5.4.3 存取容器对象的数据 100

5.5 实现视图类 101

5.5.1 实现矩形跟踪器 101

5.5.1.1 什么是矩形跟踪器 101

5.5.1.2 实现矩形跟踪器 101

5.5.1.3 设置矩形跟踪器的鼠标形状 103

5.5.2 实现选中对象 104

5.5.2.1 实现命中测试 104

5.5.2.2 实现选中对象 105

5.5.3 绘制对象 107

5.5.4 插入一个新的对象 108

5.5.5 设置AxtiveX对象的输入焦点 110

5.5.6 改变对象的大小和位置 111

5.5.7 鼠标双击编辑 112

5.5.8 删除对象 113

5.6 剪贴板操作 113

5.6.1 复制和剪切AxtiveX对象 113

5.6.1.1 复制对象 113

5.6.1.2 剪切对象 114

5.6.2 粘贴AxtiveX对象 115

5.6.2.1 实现粘贴的基本函数 115

5.6.2.2 一般粘贴 118

5.6.2.3 粘贴链接 119

5.6.2.4 选择性粘贴 119

5.7 查看对象的属性 121

5.8 实现右键快捷菜单 123

5.9 小结 123

第6章 用MFC开发ActiveX 自动化服务器 125

6.1 创建ActiveX自动化服务器程序框架 125

6.1.1 创建工程 125

6.1.2 分析程序代码 127

6.1.2.1 应用程序类 127

6.1.2.2 用于AxtiveX自动化服务器注册的三个函数 128

6.1.2.3 ActiveX类型库 129

6.2 实现自动化服务器 130

6.2.1 添加AxtiveX自动化接口类 130

6.2.2 添加属性和方法 134

6.2.2.1 什么是属性和方法 134

6.2.2.2 添加属性 136

6.2.2.3 添加方法 141

6.2.3 注册自动化服务器 142

6.3 小结 142

第7章 用MFC开发AxtiveX自动化控制器 143

7.1 创建程序框架 143

7.1.1 创建工程 143

7.1.2 分析代码 146

7.2 实现AxtiveX自动化控制器 152

7.2.1 从类型库中引入类声明 152

7.2.2 添加自动化接口类的对象 155

7.2.3 向对话框中添加控件 156

7.2.4 实现控制功能 159

7.2.5 程序演示 159

7.3 小结 160

第8章 使用MFC开发ActiveX控件 161

8.1 ActiveX控件概述 161

8.1.1 ActiveX控件的一些基本概念 161

8.1.1.1 AxtiveX控件 161

8.1.1.2 AxtiveX控件容器 161

8.1.1.3 事件 161

8.1.1.4 方法 162

8.1.1.5 属性 163

8.1.1.6 串行化 164

8.1.1.7 属性页 164

8.1.1.8 许可 164

8.1.2 ActiveX控件的基本组成部分 164

8.1.2.1 基类COleControl 164

8.1.2.2 事件激发函数 164

8.1.2.3 派遣映射表 165

8.2 在VC++应用程序中使用AxtiveX控件 165

8.2.1 创建程序框架 165

8.2.2 插入AxtiveX控件 167

8.2.2.1 将AxtiveX控件插入到工程中 167

8.2.2.2 插入AxtiveX控件后的变化 168

8.2.3 实现功能 169

8.2.3.1 对话框布局设计 169

8.2.3.2 添加控件所对应的成员变量 171

8.2.3.3 实现具体的功能 172

8.2.4 程序演示 177

8.3 使用MFC开发AxtiveX控件 178

8.3.1 创建基本的程序框架 178

8.3.2 代码分析 181

8.3.2.1 程序结构 181

8.3.2.2 应用程序类 182

8.3.2.3 AxtiveX控件类 183

8.3.2.4 AxtiveX控件属性页类 186

8.3.3 修改控件的图标 188

8.3.4 创建属性 189

8.3.4.1 添加公共属性 189

8.3.4.2 添加具有通知特性的属性 191

8.3.4.3 添加Get/Set类型的属性 193

8.3.5 为控件添加特殊效果 195

8.3.5.1 添加FlashColor属性 195

8.3.5.2 添加FlashColor函数 197

8.3.5.3 实现命中测试 198

8.3.5.4 响应鼠标消息 199

8.3.6 添加事件 200

8.3.6.1 添加自定义事件 200

8.3.6.2 激发自定义事件 203

8.3.7 绘制控件 204

8.3.8 实现属性页 205

8.3.8.1 添加公共属性页 205

8.3.8.2 实现自定义属性页 205

8.3.9 测试控件 208

8.3.9.1 插入控件 208

8.3.9.2 测试事件 209

8.3.9.3 测试自定义属性 209

8.3.9.4 测试公共属性 210

8.4 小结 211

第9章 使用MFC开发AxtiveX文件 213

9.1 AxtiveX文件技术概述 213

9.2 使用MFC开发AxtiveX文件服务器 216

9.2.1 创建AxtiveX文件服务器项目 216

9.2.2 测试AxtiveX文件服务器 219

9.2.3 分析AxtiveX文件服务器程序 220

9.2.3.1 应用程序类结构 220

9.2.3.2 应用程序类 221

9.2.3.3 文件服务器类 223

9.2.3.4 在位编辑框架类 224

9.2.3.5 文件类 226

9.2.3.6 视图类 227

9.3 使用MFC开发AxtiveX文件容器 227

9.3.1 创建AxtiveX文件容器项目 227

9.3.2 测试AxtiveX文件容器 230

9.3.3 分析AxtiveX文件容器程序 232

9.3.3.1 应用程序类结构 232

9.3.3.2 文件对象类 233

9.3.3.3 视图类 234

9.4 小结 238

第10章 ActiveX模板库概述 239

10.1 概述 239

10.1.1 什么是ATL 239

10.1.2 ATL的发展历史 239

10.1.2.1 ATL的产生 239

10.1.2.2 ATL产生前的COM开发方式 240

10.1.3 ATL的优越性 241

10.1.3.1 针对性强 241

10.1.3.2 代码简练高效 241

10.1.3.3 技术先进 241

10.1.4 ATL的技术基础 241

10.1.4.1 COM技术 242

10.1.4.2 C++模板类技术 242

10.1.4.3 多继承技术 243

10.1.5 ATL的应用范围 243

10.2 ATL库简明参考 244

10.2.1 ATL简介 244

10.2.1.1 类工厂 245

10.2.1.2 COM模块 245

10.2.1.3 连接点 245

10.2.1.4 控件支持 245

10.2.1.5 数据类型 246

10.2.1.6 接口指针 246

10.2.1.7 IUnknown实现 246

10.2.1.8 持久性 247

10.2.1.9 属性和属性页 247

10.2.1.10 UI支持 247

10.2.1.11 窗口支持 248

10.2.2 常用ATL类介绍 248

10.2.2.1 CAxWindow 248

10.2.2.2 CComBSTR 249

10.2.2.3 CComClassFactory 250

10.2.2.4 CComCoClass 251

10.2.2.5 CComContainedObject 251

10.2.2.6 CComControl 252

10.2.2.7 CComDispatchDriver 254

10.2.2.8 CComModuleclass 255

10.2.2.9 CComObject 256

10.2.2.10 CComPtr 256

10.2.2.11 CComVariant 257

10.2.2.12 CContainedWindow 258

10.2.2.13 CMessageMapclass 259

10.2.2.14 CRegKey 259

10.2.2.15 CStockPropImpl 260

10.2.2.16 CWindow 261

10.2.3 常用ATL宏 266

10.2.3.1 COM映射宏 266

10.2.3.2 连接点宏 266

10.2.3.3 调试和错误信息报告宏 266

10.2.3.4 消息映射宏 266

10.2.3.5 对象映射宏 267

10.2.3.6 属性映射宏 268

10.2.3.7 固定属性宏 268

10.3 小结 268

第11章 使用ATL开发AxtiveX控件 269

11.1 开发普通AxtiveX控件 269

11.1.1 创建ATL项目 269

11.1.1.1 使用应用程序向导创建ATL框架 269

11.1.1.2 应用程序框架分析 272

11.1.2 向ATL项目添加AxtiveX控件 275

11.1.3 向AxtiveX控件添加属性 283

11.1.3.1 添加属性 283

11.1.3.2 实现属性 285

11.1.4 修改AxtiveX控件的绘制代码 286

11.1.4.1 计算正多边形的顶点 286

11.1.4.2 添加绘制代码 287

11.1.4.3 在改变边数时更新控件 289

11.1.5 为AxtiveX控件添加事件 290

11.1.5.1 添加响应事件的方法 290

11.1.5.2 添加连接点接口 291

11.1.5.3 添加激发事件的代码 293

11.1.6 给AxtiveX控件添加属性页 295

11.1.6.1 添加属性页对象 295

11.1.7 测试和发布AxtiveX控件 299

11.1.7.1 测试事件 299

11.1.7.2 测试属性 300

11.1.7.3 测试方法 301

11.2 开发基于Windows标准控件的AxtiveX控件 301

11.2.1 基于Windows标准控件的AxtiveX控件 301

11.2.2 创建ATL项目 302

11.2.3 添加基于标准控件的AxtiveX控件 303

11.2.3.1 添加控件 303

11.2.3.2 代码分析 304

11.2.4 实现控件 308

11.2.4.1 设置控件的风格 308

11.2.4.2 改变控件的绘制方法 309

11.2.4.3 改变控件的输入特性 310

11.2.5 测试控件 311

11.2.5.1 测试输入特性 311

11.2.5.2 测试属性 312

11.3 小结 313

第12章 使用ATL开发ActiveX自动化服务器 315

12.1 创建ATL项目 315

12.2 实现自动化服务器 316

12.2.1 添加ATL对象 316

12.2.1.1 使用ATL Object Wizard添加ATL对象 316

12.2.1.2 分析新添加的ATL对象 318

12.2.2 添加属性 320

12.2.2.1 使用ATL类向导添加属性 320

12.2.2.2 实现属性 322

12.2.3 添加方法 325

12.2.3.1 使用ATL类向导添加方法 325

12.2.3.2 实现方法 325

12.3 使用和测试自动化服务器 326

12.3.1 创建应用程序框架 326

12.3.2 添加表格对象 327

12.3.2.1 包含表格类的相关文件 327

12.3.2.2 在视图类中添加表格数据成员 331

12.3.3 生成设置对话框 332

12.3.4 通过交互生成表格 334

12.3.4.1 添加鼠标消息响应函数 334

12.3.4.2 实现交互代码 335

12.3.5 绘制表格 337

12.3.6 运行程序 338

12.4 小结 339

返回顶部