《OLE 2高级编程技术 对象链接与嵌入技术》
作者 | (美)Kraig Brockschmidt著;张 起等译 编者 |
---|---|
出版 | 北京:电子工业出版社 |
参考页数 | 823 |
出版时间 | 1995(求助前请核对) 目录预览 |
ISBN号 | 7505326775 — 求助条款 |
PDF编号 | 87610588(仅供预览,未存储实际文件) |
求助格式 | 扫描PDF(若分多册发行,每次仅能受理1册) |

目录1
前言1
读者对象2
有关汇编语言的要求3
书中的代码格式3
致谢3
路线图(Road Map)4
第一部分 Windows对象9
第一章 OLE 2概述9
Windows对象:构件对象模式(Component Object Model)10
对象和接口12
结构化存储与复合文件15
标准数据传输及通告17
通知单(Notification)18
数据对象和剪贴板18
数据对象与拖放19
数据对象和复合文档19
数据对象和DDE20
复合文档:对象嵌入20
复合文档:对象链接和标记21
自动化23
复合文档:定位激活(直观编辑)23
第二章 约定、C++及示例代码25
C还是非C(拟萨士比亚语)25
用户定义型:C++类26
访问权限(Accss Rights)30
单一继承性31
虚拟函数与抽象基类34
多重继承性36
示例代码38
包含文件:INC目录38
库:LIB目录39
三个Amigos:BttnCur,GizmoBar及StatStrip40
BUILD目录40
类库:CLASSLIB目录41
接口模板:INTERFAC目录43
章节源文件:CHAPxx目录44
Cosmo:一个图形编辑器44
Patron:一个页面载体46
第三章 对象和接口51
生命的首要问题,宇宙和对象(拟道格拉斯·埃德姆语)52
Windows对象与C++对象的比较55
让我们旅行去56
类定义59
对象例示59
Windows对象与C++对象的其它不同之处59
对象引用60
对象毁灭61
C和C++中的一个简单的对象:RECTEnumerator61
RECTEnumerator和IEnumRECT接口62
创建RECTEnumerator对象84
使用IEnumRECT指针84
引用计数85
我的最优化王国87
调用-使用-释放88
IUnknown,万物之根89
QueryInterface和继承(Inheritance)的比较91
QueryInterface特性和接口的生命周期91
一些数据类型和调用约定93
STDMETHOD和相关内容93
HRESULT和SCODE94
全局唯一标识符:GUID、IID、CLSID96
OLE 2接口和API函数96
客户接口(Custom Interface)97
接口与API函数的比较98
什么是Windows对象(再次讨论)98
小结99
第四章 构件对象(构件对象模型)101
令人着迷的东西究竟在哪儿102
Windows对象的新增应用程序104
扩大信息队列104
确认建库版本105
调用CoInitialize或OleInitialize106
调用CoUninitialize或OleUninitialize107
内存管理和分配程序对象107
来自类标识符的构件对象:构件用户120
#include<initguid.h>和预编译过的头文件128
例示一个构件对象129
管理对象及调用CoFreeUnusedLibraries132
实现一个构件对象和一个服务器133
注册CLSID154
实现分类工厂(Class Factory)156
展示分类工厂157
DLL服务器157
EXE服务器158
提供一个卸载机制160
DLL服务器160
EXE服务器162
Cosmo的Polyline——一个DLL对象164
对象复用性168
示例一:对象包含169
示例二:对象聚集(Aggregation)170
小结176
第二部分 面向对象的系统性能一文件和数据传输179
第五章 结构化存储和复合文件179
动机的形成181
使人紧张不安的Patron文件181
去除咖啡因的方法183
使你精力充沛却不会紧张不安:复合文件185
复合文件的特征186
流、存储及位锁存对象186
单元的命名187
存取模式188
交易式存储(Transacted Storage)189
增量式存取(Incremental Access)190
共享单元191
复合文件对象和接口192
存储对象和IStorage接口192
存储的复合文件实现193
流对象和IStream接口195
流的复合文件实现197
LockBytes对象和ILockbytes接口197
LockBytes的复合文件实现197
Stat成员函数及STATSTG198
简单存储:Cosmo200
实际使用的复合文件200
用STGM_CONVERT“从帽子上拔去野兔毛”207
流及文件208
复杂的复合文件:Patron210
根存储和临时文件229
管理子存储230
多级认可231
File Save As操作233
Low-Memory Save As操作234
作为内存结构的流236
OLE 2的其它技术与结构化存储236
IPersistStorage、IPersistStream和IPersistFile接口237
具有IPersistStorage的一种强化协议239
有关构件用户和IPersistStorage:构件Cosmo241
有关构件对象与IPersistStorage:Polyline244
复合文件的压缩250
小结258
第六章 使用数据对象的一致数据传送261
什么是数据对象262
新的和改进的超结构263
数据对象和IDataObject接口267
FORMATETC枚举器和格式排序270
构件数据对象276
某些CDataObject功能部件287
实现IDataObject287
一个(构件)数据对象用户288
数据对象的通告和通知单301
建立咨询连接307
发送通知单作为一个数据对象310
对远程通知单的特殊考虑314
在通告接收器内部315
IDataObject作为一个面向对象数据传递的标准317
视图对象和IViewObject接口319
IViewObject∷Draw320
对一个特定设备的呈送322
绘制进入一个元文件(Metafile)322
中止长时间的重画323
其它IViewObject成员函数324
IViewObject和通知单324
来自OLE2.DLL的自由存取(Freeload)325
IDataObject和DDE334
小结335
第七章 使用数据对象的剪贴板格式337
OLE 2剪贴板协议338
但我想要做的只是拷贝一些简单的数据!340
一个数据传送构件对象342
如果已拥有一个数据对象...Component(构件)Cosmo353
如果已经有了扩展的剪贴板处理(Clipboard-handling)代码355
简单的数据源和用户:Cosmo355
启动/关闭356
Copy(复制)/Cut(剪切)357
使能Edit(编辑)/Paste粘贴358
Paste(粘贴)359
选择性粘贴和一个实用的Patron361
Paste Special(选择性粘贴)对话框和OLE2UI库363
“房客”创建,粘贴367
保存及装载“房客”370
Copy和Cut371
小结372
第八章 使用数据对象的拖放操作373
源和目标:拖放传送模型374
一个循序渐进的拖放实现:Cosmo379
设计并实现放目标用户反馈394
实现一个放目标对象及IDropTarget接口396
IDropTarget∷DragEnter396
IDropTarget∷DragOver400
IDropTarget∷DragLeave401
IDropTarget∷Drop401
设计并实现放源用户反馈403
注册并调入放目标对象403
决定拾起事件(Pick Event)404
实现一个放源对象及IDropSource接口404
调用DoDragDrop405
高级拖放:Patron中的反馈与滚动407
“房客”拾起区域和放源408
更为高级的放目标击打测试410
一个反馈矩形411
滚动页面414
小结419
第九章 复合文档和嵌入载体421
第三部分复合文档:OLE421
复合文档机制422
被动态422
装载态423
情况1:InProcServer425
情况2:InProcHandler426
情况3:缺省处理器(Default Handler)426
装载对象:所有情况428
绘制对象429
运行态431
妈妈,爸爸,新的对象是从哪里来的?432
载体应用程序的结构434
逐步实现嵌入载体435
在起动和停机时调用初始化函数436
定义现场和管理现场存储436
实现现场接口并加入现场变量439
实现IAdviseSink444
实现IOleClientSite447
实现现场的加阴影453
调入InSert Object对话框455
调用OleUIInsertObject457
调用OleCreate或OleCreateFromFile459
初始化对象461
绘制和打印对象465
激活对象并加入对象动词菜单465
鼠标双击468
对象动词菜单469
右鼠标按钮弹出式菜单473
从剪贴板和拖放传送来创建对象475
拷贝和资源(source)嵌入式对象477
关闭并删除对象480
保存和装载包含嵌套对象的文档481
处理图标表示形式(高速缓存控制)484
小结486
服务器应用程序的结构487
第十章 复合文档和嵌入对象服务器(EXE)487
链接支持及最小服务器和最大服务器的比较489
版本号489
安装489
逐步实现嵌入服务器490
在启动(Startup)和停机(Shutdown)时调用初始化函数491
创建登记数据库(Registration Database)条目491
实现和注册一个分类工厂496
面向嵌套对象的分类工厂501
以-Embedding起动502
实现一个携有IUnknown的初始对象504
实现IPersist Storage接口512
实现IDataObject接口518
实现IOleOjbect接口527
平凡函数530
必要的函数540
可选的函数543
但它仍然不能工作544
修改服务器的用户接口545
发送通知单549
(全服务器)加入OLE 2剪贴板格式552
(任选的)MDI服务器用户接口和停机553
小结554
第十一章 IN-PROCESS对象处理器和服务器555
在处理模块的结构555
为什么要使用处理器557
为什么使用在处理服务器558
为什么不使用在处理服务器558
委托给缺省处理器559
IOleObject560
IDataObject561
IPersistStorage(在高速缓存上)563
IViewObject564
实现一个对象处理器565
获得缺省处理器IUnknown567
在QueryInterface中采用缺省处理器接口570
实现IPersistStorage572
实现IOleObject∷GetExtent577
实现IViewObject578
要与当地服务器齐头并进583
年终奖587
对实现一个在处理服务器的附注587
小结599
第十二章 标记和链接载体601
谁愿意解决一下“什么是一个标记”这个问题?602
标记类603
从何处获得标记?606
逐步链接载体607
从Insert Object(插入对象)中使链路得以实现608
从剪贴板和拖放操作中使链接得以实现611
粘贴链路和粘贴特定命令612
拖放链接反馈615
测试链接616
警告617
警告:潜在的难题!618
实现Show Objects(示出对象)命令618
并实现IOleClient623
管理一个文件标记,调用IOleObject∷SetMoniker,623
Links(链路)对话框和IOleUILinkCotainer接口627
调入Links对话框643
在装载一个文档时更新链路646
小结649
第十三章 标记联编和链路源651
标记联编机制652
一个简单的链接对象:单个文件标记653
一个携一合成的File!Item(文件/项目)标记的链接对象655
联编一个合成的658
联接上下文660
运行对象表660
一个简单的链路源:Cosmo661
创建、登记及撤消一文件标识662
在数据传送时提供链接源格式664
实现IPersistFile接口667
实现IOleObject∷SetMoniker和IOleObject∷GetMoniker670
复杂链接和链接到嵌入673
为什么要链接到嵌入?673
创建并管理合成标记675
源生(source)合成标识679
以IPersistFile为文档对象实现一个分类工厂681
为每个项目标记实现IOleItemContainer684
小结697
第十四章 与OLE 1的转换、模拟和兼容699
面向载体的Convert(转换)对话框700
支持一个Convert菜单项并调入Convert对话框701
处理Convert To选择705
处理Activate As选择706
处理Display As Icon更改708
在服务器之间的转换710
面向转换的Registration Database(登记数据库)条目711
AutoConvertTo和TreatAs711
Conversion(转换)712
对IPersistStorage的修改713
OLE 1嵌入对象的转换和模拟715
对面向载体的OLE 1兼容性的注释720
OLE 1服务器的异常表现720
文件转换721
小结726
第四部分 复合文档:定位激活729
第十五章 可视编辑:定位激活和定位载体729
定位对话的动机和内容730
从何而始呢?731
DoVerb——一个小傻瓜732
定位激活733
操作一个活动对象739
拨出插头:释放741
Active和UI Active以及由里及表(inside-out)的对象741
是的,确实是这样的742
逐步实现定位载体742
准备载体743
实现骨架定位载体接口745
经验:访问框架和文档的现场要求747
激活和释放对象753
经验:服务器仍在运行755
混合一个菜单:要摇晃,不要搅拌755
协商工具空间759
经验:菜单消毁:就这样做(对)759
经验:焦虑和DeferWindowPos765
经验:“驯化”ShowObject765
提供定位加速键和焦点768
经验:古怪的TranslateAccelerator771
请拐弯:其它杂项771
警告774
小结780
第十六章 复合文档对象的定位激活781
定位对象的步骤781
驱动器,请准备好对象782
实现骨架定位对象接口及对象帮助器函数784
实现简单的激活和释放787
对象装饰795
菜单的汇编与反汇编798
警告801
警告804
创建和消除定位工具804
管理和处理加速器808
拐第三个弯... 我们朝着家走去810
定位激活将把我们带向哪里818
小结822
使用随附软盘的说明823
1995《OLE 2高级编程技术 对象链接与嵌入技术》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由(美)Kraig Brockschmidt著;张 起等译 1995 北京:电子工业出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。
高度相关资料
-
- Java嵌入技术
- 1998 北京:清华大学出版社
-
- Java嵌入技术
- 1998
-
- 80286/386/387高级编程实用技术
- 中国科学院希望高级电脑技术公司
-
- 高级程序设计技术
- 北京:人民邮电出版社
-
- 纵横嵌入术
- 1994 北京:科学出版社
-
- C语言及其高级编程技术
- 1995 天津:南开大学出版社
-
- 高级Windows编程技术
- 1999 西安:西安交通大学出版社
-
- ActiveX编程技术与技巧
- 1998 北京:电子工业出版社
-
- UNIX高级编程技术
- 1994 上海:上海科学技术文献出版社
-
- C++高级编程技术
- 1994 北京:电子工业出版社
-
- Windows95 Windows NT3.5高级编程技术
- 1996 北京:清华大学出版社
-
- Java编程技术与技巧
- 1997 北京:电子工业出版社
-
- Linux系统分析与高级编程技术
- 1999 北京:机械工业出版社
-
- 高级DOS技术与技巧
- 1995 上海:上海交通大学出版社
提示:百度云已更名为百度网盘(百度盘),天翼云盘、微盘下载地址……暂未提供。➥ PDF文字可复制化或转WORD