CRichEditCtrl实现MSN/QQ动画表情
日期:2008年3月30日 作者: 查看:[大字体 中字体 小字体]-
首先对标题说明一下,在MSN中,聊天的窗口可能是一个自定义的类。大家用Spy ++可以看看。对与自定义窗口,可以使用CreateWindow, SetWindowLong或者是SubclassWindow实现,不过这不是我现在讨论的话题。
好, 先看看效果再说:
关于这个的实现。我们首先应该明了,我们必须实现一个OLE对象。而且这个对象能够播放GIF.对于播放GIF,代码已经很多了。
有了这个就完了么?当然不是。你还有写一个OLE/COM对象。实现IOleObject等。你是用ATL还是MFC呢?我什么也没有用。在这个目录下%program file%\tencent\qq\,你可以看到一个ImageOle.dll,她就是你日夜思念的人!
好吧,让我们来看看他的真面目。怎么看?X Ray? 当然不是——OLE/COM Viewer.Click on “All Objects”,View TypeLib... 打开那个文件,你可以看到:
[
uuid(0C1CF2DF-05A3-4FEF-8CD4-F5CFC4355A16),
helpstring("IGifAnimator Interface"),
dual,
nonextensible
]
dispinterface IGifAnimator {
properties:
methods:
[id(0x00000001), helpstring("method LoadFromFile")]
void LoadFromFile([in] BSTR FileName);
[id(0x00000002), helpstring("method TriggerFrameChange")]
VARIANT_BOOL TriggerFrameChange();
[id(0x00000003), helpstring("method GetFilePath")]
BSTR GetFilePath();
[id(0x00000004), helpstring("method ShowText")]
void ShowText([in] BSTR Text);
};
这个接口就是我们要的。你可以用ActiveX Control Test Container测试一下。还挺管用的。
以下给出代码:
首先我们导入ImageOle.dll
#import "D:\\Program files\\tencent\\qq\\ImageOle.dll" named_guids
named_guids 表示让编译器为我把对应库的GUID和声明对应起来。我们就可以用CLSID_GifAnimator引用对应的接口了。不用那一长串的东西。然后它就会为我们生成两个文件。
更多内容请看MSN图像 MSN专题 QQ表情专题,或
ImageOle.tlh
1// Created by Microsoft (R) C/C++ Compiler Version 12.00.8168.0 (9de7951a).
2//
3// d:\myproject\msger\debug\ImageOle.tlh - [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页
-
- CRichEditCtrl实现MSN/QQ动画表情 相关文章:
- ·Fireworks教程 液体金属表面特效制作
- ·多个CSS样式表争夺特定选择符的控制权
- ·HTML表格标记:行的水平对齐属性ALIGN
- ·纯CSS制作的新闻网站中的文章列表
- ·Illustrator绘制精美三维图表实例
- ·Excel表格页码设置打印输出更直观
- ·经典:交换机故障检测检查表
- ·QQ会员成长体系介绍及成长值换算参照表
- ·sqlldr加载数据到不同表的问题
- ·下载:MSN微软官方圣诞表情包
- CRichEditCtrl实现MSN/QQ动画表情 相关软件
- ·火影忍者必杀技表演秀
- ·《文明4》官方科技树图表
- ·图片欣赏-世界名表欣赏
- ·万用表应用技巧
- ·历代CPU最全明细参数表
- ·心理自测表
- ·中国地方菜系及代表菜
- ·注册表结构
- ·用图表说话
- ·化学元素周期表
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
下一篇:C/C++头文件一览
精品推荐
热点TOP10
- ·socket编程原理
- ·将程序从托管扩展 C++ 迁移到 C++/CLI(1)
- ·Beej的网络socket编程指南
- ·飞机订票系统设计
- ·用c#监控网络流量
- ·具体而微的绘图程式-c++ Borland 入门
- ·C语言库函数 (D类字母)
- ·C#使用WIN32API来遍历文件和目录
- ·CRichEditCtrl实现MSN/QQ动画表情
- ·使用 C# 编程对 RTF 文档进行操作
- ·学生成绩管理系统实习
- ·corba核心规范
- ·再现C#导出Excel源码
- ·C/C++笔试、面试题目大汇总
- ·C语言库函数(S类字母) - 3
- ·使用C#来开发.NET CF 蓝牙通信模块
- ·支付宝Payto接口的C#.net实现方法
- ·TCPIP完整的一套基础介绍
- ·C++面向对象编程入门:构造函数与析构函数
- ·简单的画笔
特别推荐
- ·Beej的网络socket编程指南
- ·socket编程原理
- ·C语言库函数 (D类字母)
- ·C#程序开发中的常用函数汇总
- ·C#数据库操作的三种经典用法
- ·C/C++笔试、面试题目大汇总
- ·C语言的常用库函数使用方法分析及用途
- ·在C语言中如何处理时间和日期
- ·C++设计模式之Singleton
- ·VC++动态链接库编程之MFC扩展 DLL
- ·TCP/IP网络重复型服务器通信软件的设计
- ·DirectX游戏开发入门
- ·经典与现代的结合:在MFC中集成RAD .NET框架
- ·Windows API-GDI入门基础知识详解(2)
- ·Visual C++ 入门精解
- ·C#基础概念二十五问
- ·用C#实现pdf文件的完整性验证
- ·成为嵌入式程序员应知道的0x10个问题
- ·TCP/IP编程实现远程文件传输
- ·几个C#编程的小技巧
