图书介绍
OLE 2高级编程技术 对象链接与嵌入技术PDF|Epub|txt|kindle电子书版本网盘下载
![OLE 2高级编程技术 对象链接与嵌入技术](https://www.shukui.net/cover/42/31160137.jpg)
- (美)Kraig Brockschmidt著;张 起等译 著
- 出版社: 北京:电子工业出版社
- ISBN:7505326775
- 出版时间:1995
- 标注页数:823页
- 文件大小:34MB
- 文件页数:822页
- 主题词:
PDF下载
下载说明
OLE 2高级编程技术 对象链接与嵌入技术PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
目录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