GifOleControl 1.0.2 功能说明

VC6.0使用RichEdit2.0(GifOleControl 1.0.2 补充说明) 由于AfxInitRichEdit() 装载的是 RichEdit 1.0 Control (RICHED32.DLL),该版本BUG较多,需要在装载3.0的控件。方法如下: 以对话框为例:       (1)    增加一全局变量 HMODULE hMod;       (2)    在CxxxApp::InitInstance()中添加一句hMod = LoadLibrary(_T(" 阅读详情

GifOleControl 可插入图片,包括BMP、jpg、png等,图片大小不限,重点是可以在richedit中插入gif动画,暂不支持插入SWF格式。同时可以在插入的图片、gif中直接显示tooltip,方便应用。

 

GifOleControl 定义的接口如下

 

interface IGifCtrl : IDispatch{
 [propput, bindable, requestedit, id(DISPID_BORDERCOLOR)]
 HRESULT BorderColor([in]OLE_COLOR clr);
 [propget, bindable, requestedit, id(DISPID_BORDERCOLOR)]
 HRESULT BorderColor([out, retval]OLE_COLOR* pclr);
 [propget, bindable, requestedit, id(DISPID_HWND)]
 HRESULT HWND([out, retval]LONG_PTR* pHWND);
 [id(1), helpstring("方法LoadFromFile")] HRESULT LoadFromFile([in] BSTR bstrFileName);
 [id(2), helpstring("方法LoadFromFileSized")] HRESULT LoadFromFileSized([in] BSTR bstrFileName, [in] INT nHeight);
 [id(3)] HRESULT GetRECT( [out] RECT *rc );
 [id(4)] HRESULT ShowHint( );
 [id(5)] HRESULT SetHostWindow( [in] long hwndHostWindow, [in] INT nNotyfyMode );
 [id(6)] HRESULT LoadFlash( [in] BSTR bstrFileName, [in] BSTR bstrFlashVars, [in] INT nWidth, [in] INT nHeight );
 [id(7)] HRESULT SetTooltip( [in] BSTR bstrHint);
 [id(8)] HRESULT GetTooltip( [out, retval] BSTR * bstrHint);
 [id(9)] HRESULT GetFilePath( [out, retval] BSTR * bstPath);
};

 

 

通过导入ActiveX后生成的类:


 

通过该COM组件,demo如下:

 

下面介绍控件的使用方法,包括两种形式:1、在对话框中使用;2、在RichEdit中使用。

1、在对话框中使用:

首先注册控件GifOleControl .dll,将GifOleControl .dll拷贝到系统目录下,然后使用命令regsvr32 GifOleControl .dll注册控件。

在对话框资源编辑器中,右击并选择“插入ActiveX控件”,选择“Gifctrl class”,插入本控件。然后在插入的ActiveX控件上右击,并选择“添加变量”,生成对应的包装类和对应的实例,这样就可以调用对象的方法了。

2、  在RichEdit中使用

在RichEdit中使用的方法和上篇文章中的方法基本相同,只需替换调对应的类和函数调用即可。但是在这里,可以直接使用接口和接口GUID的定义。具体的代码如下

 

  

 

 

DEMO下载:http://sv004d.mofile.com/7125120180791962/RGlzazEvNTQvNTQyNzI4MTQyMC83Lzc0OTQ0NjQwNjA4NjQ1Nw../TestGif.rar

DynamicWrapperX DynamicWrapperX is an ActiveX component (COM server) inspired by DynamicWrapper, which I wrote as an attempt to better implement the idea. It allows to call functions exported by DLL libraries, in particular Windows API functions, from scripts in JScript and VBScript. This component is not a modification of the original DynamicWrapper, it was written from scratch in the GoAsm assembly language. So far I have tested it under Windows XP SP1 and Windows 98 SE. New features and changes: Added registration only for the current user. This can be useful if the user doesn’t have administrator privileges. Expanded the set of input parameter and return value types. Added output parameters. Unified the way strings are passed in JScript and VBScript. Added callback, which enables API functions to call script functions. This is necessary for using APIs such as EnumWindows (see examples below). On Windows 98, excluded the necessity to create a special object instance for each API function. Added several useful (IMHO) built-in methods. --------------------------------------------------------------------------- 立即下载

相关推荐

具身智能端到端大模型VLA (Vision Language Action)

在语言为条件的机器人任务中,策略必须具备理解语言指令、视觉感知环境并生成适当动作的能力,这就需要VLA的。例如,在自动驾驶领域,传统的做法是将感知、预测、规划等步骤分开处理,而VLA则试图用一个统一的框架来替代这种分立的方法。另外,VLA的模型对于算力的需求很大,单片AI算力1000Tops的Thor大概率会延期发布,加上英伟达芯片的量产时间与成本挑战,以及在国内的应用情况,对车企而言是个大问题。以谷歌DeepMind推出的RT-2为例,该模型可以在新的物体、背景和环境中表现出显著改善的性能。

具身智能机器人 1万+

OLE Drap/Drop(6)

欢迎你到OLE拖放操作的第六章!这里将着重于一个实现了drop-target的小程序,这就意味着我们的程序能够接收拖到它上面的对象(文件、图片、文本)了。我们实现一个IDropTarget的COM接口允许OLE程序拖动数据到我们的程序上;这里仅仅是一个简单的EDIT控件,所以他将CF_TEXT数据作为目标。成为一个“Drop Target”为了时窗口可以接收拖放操作的数据,窗口必须

自由无限 1694

STorM BGC V1.31硬件+SimpleBGC固件:从零搭建三轴云台开发环境(Keil+JLink避坑指南)

本文详细介绍了如何从零搭建STorM BGC V1.31硬件+SimpleBGC固件的三轴云台开发环境,涵盖硬件连接、Keil+JLink开发工具配置、固件编译与烧录等关键步骤,并提供了常见问题的解决方案和调试技巧,帮助开发者快速上手三轴云台开发。

weixin_28693683的博客 380

在谷歌chrome、Firefox等浏览器打开、编辑、保存微软Office、金山WPS文档

历史背景 在2015年的主流浏览器版本中,因为可以直接调用微软开源的 ActiveX控件,可以实现微软Office软件的在线编辑及审阅功能,但是从2015年开始,各大主流浏览器先后取消了对 NPAPI插件,导致在线编辑Office软件成为了一个难题。虽然后来有商业公司开发的相关控件,但是还是无法 克服ActiveX控件固有的缺陷,不仅限制了浏览器的版本,还需要用户单独设置浏览器安全设置,导致用户体验极差。 后来随着SAAS模式的兴起,网页在线编辑文档也越来越流行,很多巨头公司都发布了在线Office服务

猿大师播放器—网页低延迟播放RTSP视频流专家 2742

Claude Code vs Codex

Claude Code 提供了一个生产就绪(production-ready)的实现,包含良好的错误处理、优雅的关闭逻辑、详细注释和文档,以及内置测试。Claude Code 输出了一个可运行的 Next.js + TypeScript 前端,但错过了一些设计里的黄色主题元素;Codex 则生成自己的版本,没有导出设计中的图片,也没严格遵照设计主题。Codex 完成同样功能,但更简洁直接,文档和注释少一些但功能达标。任务都用同样的提示,使用 TypeScript 实现,并在一天内完成。

weixin_49869937的博客 2388

Blender软件导出地形到Gazebo中

Blender软件导出地形到Gazebo中,并配置纹理、刚度、高度。

m0_70652514的博客 3376

pb中用OLE Control 报错解决方法 (转载)

pb中用OLEPB奔溃解决 问题现象:当在powerbuilder中插入OLE控件点击insert control时,应用程序自动关闭,如图在网上查询时有人说是其他ocx(如金山,超星)冲突而导致的,毕竟现在的软件很多很多,怎么知道是那个软件冲突造成的呢? 2、原理分析 当我们点击OLE控件中的insert control时,pb会搜索那些控件可用,并且在PB中显示出来...

weixin_30307267的博客 1134

SOME/IP协议详解「1.0·概述」

主要讲解什么是someip,

雪云飞星的博客 5367

GifOleControl 1.0.8 更新说明

 1.2.0.4    去掉鼠标HOOK, 主要是由于鼠标HOOK对系统的运行有影响,会导致鼠标移动慢。 1.2.0.5   修改VC2005中使用LIST Iterator Not Incrementable? 报错问题。 详见析构函数~CGifCtrl 1.2.0.6   增加 STDMETHODIMP CGifCtrl::Load(IStream *pStm)函数中异常数据的处理

Richard的专栏 1357

鲁棒控制理论 --- H∞ 控制(被裁篇)

鲁棒控制理论 --- H∞ 控制

记录老板的每次pua,分享领导每天的毒鸡汤... 6万+

LSTM 双向 Bi-LSTM

LSTM 双向 Bi-LSTM

jacke121的专栏 1518

GifOleControl.dll 1.0.0.2 支持unicode和ASCII

如果使用UNICODE 一切都没问题,richedit2.0以上对中文判断为一个字符,GetTextLength获取到中文字符为一个,这样SETSEL完全OK。 但如果为ASCII,GetTextLength判断中文字符为2个,这个时候setsel就会出错,显示的位置和设计的有区别,如何在ASCII下获取到正确的字符长度呢,请使用:     GETTEXTLENGTHEX gtl;

Richard的专栏 1263

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

EXCEL动态数据交换(OLE对象操作)

 一、创建Excel对象类    CREATEOBJECT(ClassName[eParameter1,eParameter2,...])其中,ClassName指明欲建立对象的类名。eParameter1,eParameter2…是用来传递参数给OLE对象的例如,在VFP中欲建立一Excel工作表对象:MySheet=CREATEOBJECT("Excel.Sheet")就行了。 Excel

狂风的专栏 4921

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

CoCreateInstance of OLE control failed

1.在将VC6.0的工程转换到VS2005下编译连接都没有问题运行时报错Assert fail in occcont.cpp at line 950 用Windbg调试可执行程序发现有如下错误CoCreateInstance of OLE control {648A5600-2C6E-101B-82B6-000000000014} failed,我在工程里面用了串口的控件,网上查了一下这个问题是串

2876

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ATL问题集(前31个)

ATL问题集(前31个) #1 如何使用控件不能改变大小? 答:有时我们需要创建不可改变大小的控件,像那种在运行时没有界面的控件(例:时间控件,SysInfo 等),想做到这种功能的话,请把以下代码加入到控件类的构造函数: m_bAutoSize = TRUE; SIZEL size = {24, 24}; AtlPixelToHiMetric

逍遥骏马 1391

在PB中用OLE存取blob类型数据

前言:在数据库的开发过程中,经常需要在数据库中存储一些备注信息,而这些备注信息的内容一般较大,格式多样—如有可能是语音文件、视频文件、图片文件、文本文件等,怎样在PB中实现这些格式不同的备注文件的存取及预览,一直是PB开发人员比较关心的一个问题,本文系统的介绍了三种存取备注二进制信息的方法。

jlwei888的专栏 7378

一份用动画演示操作系统的各个过程的资料

操作系统 动画演示

StepByStepTo的专栏 4830

WINDOWS Platform SDK 下载

最近由于需要使用IPV6方面的开发资料,下载了WINDWOS 网络编程相关的代码,发现在VC6.0上无法编译,猜想可能是SDK 的版本较低,于是网上找来个:http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm 下载后,安装既可以实现IPV6在VC6.0平台编译调试。

Richard的专栏 1万+
上一篇: Richedit插入动态Gif的实现
下一篇: VC6.0使用RichEdit2.0(GifOleControl 1.0.2 补充说明)
happy hell
博客等级 码龄23年 136粉丝 179原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值