Richedit插入动态Gif的实现

最近在做IM软件,需要实现向Richedit插入表情,表情是动态的GIF图像。

google 查找相关技术,文章如下

How to insert a bitmap into an RTF document using the RichEdit control in Visual C++ 6.0
http://support.microsoft.com/default.aspx?scid=kb;en-us;220844

Animated Emoticons like those in MSN Messenger(英文版)
http://www.codeproject.com/KB/edit/AnimatedEmoticon.aspx

Animated Emoticons like those in MSN Messenger(中文版)
http://blog.csdn.net/dTianx/archive/2004/11/17/184949.aspx

DynamicGif作者blog
http://blog.csdn.net/kql01

 

第一个链接是微软提供的部分代码,只能用于插入BMP图片。使用了OleCreateFromFile创建的ole对象。

第二个、第三个链接都是dTianx写的,使用QQ的ImageOle.dll创建了ole对象。提供全部源代码,但ImageOle没有相关代码,在项目中,不敢使用,最近腾讯总是状告员工啥的,怕也状告我...。

第四个链接是一牛自己做的一个控件,导出函数InsertGifToRichedit2A可以方便地插入任意GIF。只提供DLL文件。
我对这4个方法逐一试验,结果发现这些方案都不可靠。

首先第一个不用说,只能插入BMP图片,不符合我们的要求,但这段代码已经可以让我们了解了插入一个OLE对象的全部步骤。

第三个DynamicGif使用导出函数InsertGifToRichedit2A,方便地插入了任意Gif图片,但是我发现他放出的这版本有问题,这个问题发生在拖动滚动条的时候,richedit闪动非常厉害。

 

处于无赖,自己也开发了个OLE组件。目前已经达到了DynamicGif,不过也同样存在着拖动滚动条,richard会闪的非常厉害,不过目前已经找到解决方案,需要进一步完善。

 

代码下载: http://download.csdn.net/source/1503714

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值