原文: Create Thumbnail Extractor objects for your MFC documents types
虽然这时候发这个已经有点像个Joke,但还是发吧。。有些付出的东西,留下的东西,不是一篇两篇文章可以理清。
翻译很稚嫩,用词也不得体,甚至有些地方语意还有些模糊,那又如何?那便如何!!
【前注】这一阵子做东西,想给自已的软件加上这样的一个功能。找到此文,翻译如下。
【介绍】
缩略图显示是Windows资源管理器一个很不错的功能。但关于如何为用户的文件创建扩展缩略图的内容却比较少。我前一阵子在做可视化医学图像的软件时,就想为自己的DICOM(Digital Imaging and Communications in Medicine)软件添加这个功能。在网上搜索过后,我最后在MSDN杂志上找到了一篇相关文章: 更多Windows 2000 UI 技巧: 通过定制超文本模板文件扩展资源管理器视图(天啊,不知道是嘛意思) 这篇文件解决了这个问题,并包含了一个针对图标文件的简易图片提取器。在创建了我的DICOM软件的图片提取器之后(如果有人要,我可以提供),我也创建了一个可为涂鸦板(MFC指导)文档特别是涂鸦第五步,提取图片的框架扩展。我尝试着将这些代码以一个面向对象的方式来编写,以使得他们可以支持重用(我是面向对象思想的领导者 Paul Dilascia 的"Fans",他是MSDN杂志的作者)。 最后,我将这个涂鸦图像提取工程转换成了一个客户端程序,这样你们就可以为你自己的MFC文档容易地生成图像抽取。下面的图像就显示了一个包含了我的医药涂鸦文档的文件夹的截图:)
涂鸦板提取的COM对象
为涂鸦软件做的基于MFC的缩略图提取扩展已经被生成为一个规则的MFC动态链接库。顺着应用程序向导,我添加了一个ATL对象到工程中。 这个ATL对象是用来实现需要的两个接口:IPersistFile,用来确定当前框架中被选中的文件(译注:加载文档)。IExtractImage2(继承于IExtractImage),用来进入文件并返回能表示其内容的图像。
// ScribbleExtractor.h class ATL_NO_VTABLE CScribbleExtractor : public CComObjectRootEx , public CComCoClass , public IPersistFile, public IExtractImage2 { public: ... // ScribbleExtractor.cpp // IExtractImage::Extract HRESULT CScribbleExtrac