实现方法如下:

一.显示GIF图片控件类的介绍:
(CPictureEx类下载地址:http://download.csdn.net/detail/wangtiti/4372882)

无论是在VC6.0还是在VS2010中,都没有自带控件能显示GIF动画图片。能显示一些静态图片的只是Picture控件。本例程用到的GIF动画显示控件类是 PictureEX。其定义文件是 PictureEx.h,类的实现文件是 PictureEx.cpp。有关该类的成员函数和方法说明如下:
程序代码:
BOOL Load(...) ——加载GIF 并准备绘画对象;
BOOL Draw() ——绘制图像或继续动画显示。
void Stop() ——停止动画;
void UnLoad() —— 停止动画并释放所有资源;
void SetBkColor(COLORREF) ——为透明区域设置填充颜色;
COLORREF GetBkColor() ——获取当前填充颜色;
BOOL IsGIF() —— 如果当前图像是 GIF 则返回 TRUE;
BOOL IsAnimatedGIF() ——如果当前图像是动画 GIF,则返回TRUE;
BOOL IsPlaying() ——如果当前图像是以动画方式显示则返回TRUE;
SIZE GetSize() ——返回图像尺寸。
int GetFrameCount() ——返回当前图像的帧数量;
BOOL GetPaintRect(RECT *lpRect) ——返回当前绘制的矩形。
BOOL SetPaintRect(const RECT *lpRect) ——设置当前绘制的矩形;

二.编程应用步骤:

1.建立一个对话框的MFC工程。将GIF动画图片资源文件拷贝至工程目录的Res文件夹下,然后用添加资源的方法将这两个资源文件导入到你的工程中。 
            步骤:导入资源——找到要加载的GIF格式的文件——导入——资源类型写GIF,确定
( VS2010 中如果直接添加 GIF后缀的资源,会将GIF文件内部强制转化为静态BMP文件,从而使GIF图片失去动态效果,故在加载前应改个后缀如:.gifa。 )

2.拷贝PictureEx.h和PictureEx.cpp到你的工程目录下,然后在将该类添加到你的工程中。

3.一切准备工作以经完成。下面是添加代码:
        在对话框类定义文件(XXXXDlg.h)中

添加:

   #include "PictureEx.h"

定义:

    CPictureEx* m_pGif;

在对话框的实现文件(XXXXXDlg.cpp)中

对话框初始化函数 BOOL CXXXXDlg::OnInitDialog()中添加如下代码:

     BOOL CXXXXDlg::OnInitDialog()
{
........
m_pGif = new CPictureEx();
if (m_pGif == NULL) return;
RECT rt = {71,55,189,61};   //图片显示的矩形区域
m_pGif->Create(_T(""),WS_CHILD | WS_VISIBLE | SS_NOTIFY,rt, this);
m_pGif->ShowWindow(SW_SHOW);
//              CString str;
//              str = GetAppPath()+_T("resource\\LoadingProgress.gif");
//          if(m_pGif->Load(str))
if (m_pGif->Load(MAKEINTRESOURCE(IDR_GIF_PROGRESS_LOADING),_T("GIF")))
{
m_pGif->SetAdID(_T("下载进度条"));
m_pGif->SetPosition(0, 0);
m_pGif->Draw();
}
else
{
delete m_pGif;
m_pGif = NULL;
}
........
}

即可实现GIF动画格式图片的播放。

注: 1、从资源中加载GIF图片时,加载前要把GIF图片的后缀名给换一下
          2、图片如果不能正常显示,把GIF图片资源重新导入下再试

上面是从资源中加载GIF图片,如果从指定路径中加载直接用注释的那部分代码

m_pGif可能需要自己销毁

vs2010中正确加载gif格式图片相关推荐

  1. VS2010不能正确加载 'VSTS for Database Professionals Sql Server Data-tier Application'的解决方法...

    VS10出了点问题,卸载重装之后启动,弹出"VS2010不能正确加载 'VSTS for Database Professionals Sql Server Data-tier Applic ...

  2. VC下加载多种格式图片的方法总结

    From: http://www.cnblogs.com/Daywei/archive/2011/03/19/1988848.html 尽管VC有提供相应的API和类来操作bmp位图.图标和(增强)元 ...

  3. Android中如何加载显示大尺寸图片不发生OOM

    前言:当加载高清大图时,系统给每个应用分配的内存是有限的,如果一个资源图片太大,加载到内存中后,占用的内存空间也会很大,这样就会造成OOM.那在Android开发中如何正确加载高清大图呢? 采用Bit ...

  4. 使用openlayers3加载png格式图片

    1.官方实例 tiff是图片的一种格式,与png相比,主要有以下区别: PNG,图像文件存储格式,其目的是试图替代GIF和TIFF文件格式,同时增加一些GIF文件格式所不具备的特性.PNG用来存储灰度 ...

  5. 关于qt qpixmap qimage 无法正常加载jpg格式图片问题(坑啊)

    近期遇到一个问题是 QPixmap / QImage 无法加载 .jpg / .jpeg 格式的图片 QLabel .showPixmap 无效 以下都确认是没有问题的 1.图片路径无问题 2.大部分 ...

  6. ios 中webView加载html文本图片显示不全

    在iOS开发过程中,用webView显示富文本内容是很常见的需求,加载富文本时通常还要根据webView的高度动态计算cell的高度(例如我们要在tableView或者collectionView的某 ...

  7. 【Android Demo】加载.gif格式图片

    Android系统为了节省内存,一般不支持直接显示gif图片,即使你强制设置了,也只会显示图片的第一帧. 这个 Demo 是在网上看到的,是个思路,还是有些局限性,还是记录下,以后研究吧. 1.效果图 ...

  8. vs2010不能正确加载 #39;VSTS for Database Professionals Sql Server Data-tier Application#39;包

    VS2010数据库项目不能正常工作解决方案 症状: A:不能创建数据库项目 B:打开.sql文件报错 The 'VSTS for Database Professionals Sql Server D ...

  9. 解决VS2010不能正确加载 'VSTS for Database Professionals Sql Server Data-tier Application

    安装CRYSTALREPORTS时造成vs2010出错,修复安装了一次,再打开VS2010就出现标题所示问题.网上有帖子说在WIN7系统下删除文件什么的...本人是windows2012,尝试将C:\ ...

  10. VS2010不能正确加载 'VSTS for Database Professionals Sql Server Data-tier Application'

    xp sp3 装SQL2008 R2 出错了,没管,接着装VS2010 正常. 第二天看着没装上的SQL 2008 R2来气就卸了.再打开VS2010就出现上述问题. 在网上找到此方法: 1.C:\U ...

最新文章

  1. 【Go】Go基础(九):接口(Interfaces)与反射(reflection)
  2. 不是所有邮件服务器都叫智慧邮件系统
  3. OJ系列之---IP与整数之间的转换
  4. gj2 python中一切皆对象
  5. aspx练习备忘录#想锤自己两拳#1
  6. oracle修改表字段
  7. java获得网页的编码方式_求一段代码,可以获得编码格式是gb2312的网页的页面源码,java实现!...
  8. 声卡突然听不到监听_音乐人/键盘手伴侣物问题之:专业监听音箱的音质必须用独立声卡...
  9. R语言排序 -- sort() order() rank()
  10. vue 多个回调_Vue 进阶面试必问,异步更新机制和 nextTick 原理
  11. ndarry转置二阶及以上的矩阵
  12. 两个栈实现一个队列,两个队列实现一个栈-JAVA
  13. 小米手机怎么设置鸿蒙开机动画,小米9开机动画太酷炫了!还不知道怎么设置赶紧来看看!...
  14. 一根网线连接两台电脑的方法
  15. Google Cloud + Firebase 讲解
  16. UEBA对抗威胁之“健康就是财富”!
  17. utf8一个汉字最多需要多少个byte
  18. 教育培训行业如何做好私域运营
  19. 45特征03——最小多项式的概念和性质、广义特征子空间分解
  20. LinkedIn动态如何发布,效果更好?更好的发挥领英功效

热门文章

  1. 环境保护设施运营组织服务认证
  2. 一个视频分割为多个视频片段
  3. CDN加速技术可以解决网络客户的哪些痛点问题?
  4. MAUI 跨平台应用开发实战
  5. BOOST的JSON解析库Boost.JSON简介
  6. Python获取外网ip
  7. pycharm 连接数据库报错
  8. 史上最最最没用程序——自写平衡化学方程式
  9. Python ftp 下载AHI数据
  10. MySQL的刷脏机制