一个基于GDIplus的Gif显示控件

来源:互联网 发布:java重载函数是什么 编辑:程序博客网 时间:2024/06/06 09:00

一个基于GDIplus的Gif显示控件


Author:Leen



本人初次接触GDI+,如有错误,敬请指教

GIF显示部分参考了驿站上一个作者的文章,在此表示感谢,我就是感觉能将此功能封装成单独的控件,并且支持控件消息,会更好。

这个控件的对外接口比较少

//设置文件路径
void SetGifFile(CString strfilepath);
//设置回调函数
void SetLButtonDownCallBack(ONLBUTTONDOWN pOnLButtonDownFunc);
void SetLButtonUpCallBack(ONLBUTTONUP pOnLButtonUpFunc);
//设置图片显示类型,目前支持图片原始大小以及按照控件大小显示两种显示方式
void SetImageSizeType(GifSizeType type);

如下图:




 

关于 GdiplusDbg.h

由于MFC在Debug模式下重载了new delete 运算符,所以需要加入该文件,让GDI+也重载这些运算符,debug才编译的过。



目前支持的控件消息只有WM_LBUTTONDOWN,WM_LBUTTONUP,读者可以根据这两个的思路继续添加自己需要的消息响应函数

源码如下:
////////////////////////////////////////////////////////////////////////////////////////////////
// If this code works, it was written by Leen.
// If not, I don't know who wrote it.
////Mail:493799015@qq.com
//使用本控件请在全局先初始GDIPlus
//并添加 CallBackDef.h 这个文件里包含了消息响应回调函数的声明
//debug模式下需要添加GdiplusDbg.h
//因为debug下重载了new\delete等运算符,GDIPlus中也需要重载
////////////////////////////////////////////////////////////////////////////////////////////////

代码地址:cctry链接 或者 csdn链接



原创粉丝点击