COM技术
文章平均质量分 79
daydayuplo
这个作者很懒,什么都没留下…
展开
-
OLE拖放-drag-drop-3
上一张我们着重介绍了怎么样使用OLE和IDataObject来访问windows粘贴板。本章主要实现一个IDataObject接口,然后使用我们完成的数据对象来存储文本“Hello World”到粘贴板中。创建一个COM接口-IDataObject为了创建一个COM对象,我们需要定义一个实现所有这些函数的C++类,并且让COM的虚函数表为我们自动包含,我们使用C++类继承:class CDataObject : public IDataObject{Public: // IUnknown membe转载 2010-12-30 21:00:00 · 787 阅读 · 0 评论 -
OLE拖放-drag-drop-5
欢迎来到OLE拖放旅程系列的第五部分,我们机会到了OLE拖放实现的最后阶段,现在需要做的事情就是实现IDropSource和IDropTarget接口;一般我们完成这些,我们就可以在任何程序中添加拖放操作了。本部分的目的在于实现一个用作拖放源的简单程序,它不能接收任何拖放的数据,但这不要紧,因为我们能使用任何平常支持拖放操作的windows程序(例如:WordPad)来测试,程序就是一个windows的Edit控件,它是子类化的,且支持拖操作。这个子类的细节在这里不讨论,但源码可以很清晰的说明这个任务。成转载 2010-12-30 21:02:00 · 1065 阅读 · 0 评论 -
OLE拖放-drag-drop-6
欢迎你到OLE拖放操作的第六章!这里将着重于一个实现了drop-target的小程序,这就意味着我们的程序能够接收拖到它上面的对象(文件、图片、文本)了。我们实现一个IDropTarget的COM接口允许OLE程序拖动数据到我们的程序上;这里仅仅是一个简单的EDIT控件,所以他将CF_TEXT数据作为目标。成为一个“Drop Target”为了时窗口可以接收拖放操作的数据,窗口必须注册为drop目标;有一个OLE的API调用RegisterDragDrop来完成这个事情,函数的原型是:WINOLEAPI转载 2010-12-30 21:03:00 · 723 阅读 · 0 评论 -
OLE拖放-drag-drop-1
转自:http://www.handytech.cn/main/ArticleShow.asp?ArtID=244该指南的目的在于读者能够在他们自己的程序实现完整的拖拽功能。自Window95以来,Drag和Drop已经成为Window程序的一个标准功能,随着COM和OLE成为主流技术,程序能和Window Shell甚至其他Window程序无缝交互。这个弹性是以高昂的代价为基础的,说的婉转点,写一个COM或OLE支持的程序完全是一个噩梦。本指南目的在于帮助你轻松克服写一个OLE接口支持的拖拽程序的困难。转载 2010-12-30 20:56:00 · 1002 阅读 · 0 评论 -
OLE拖放-drag-drop-4
本章注重于实现一个暴露IEnumFORMATETC接口的COM对象,这里有两部分代码可以下载。第一包含一个完整的通用的IEnumFORMATETC实现,你可以将它用到你的程序中。另一部分代码是一个叫做IDataObject Viewer的所有代码。这是PlatformSDK同名程序的替代品,它是一个怎么样使用IEnumFORMATETC接口的基本介绍,而不是写这个接口。更重要的是,它在调式OLE拖放代码是非常有用,你可以拖动任何格式的IDataObject到它上面,它会显示显示数据包含的可用格式。IEnu转载 2010-12-30 21:01:00 · 558 阅读 · 0 评论