在一个项目中需要使用MFC直接加载GIF动画。加载GIF动画网上有多种方式,大多数是将GIF填进资源,使用PictureEx类load资源文件  如下:

PictureEx图片显示类支持以下格式的图片:GIF (including animated GIF87a and GIF89a), JPEG, BMP, WMF, ICO, CUR等,我特别推崇的是能够做出动画,而且轻而易举,确实很COOL。 
下面是周详的编程过程:

1.新建项目:在VC6中用MFC新建一个基于对话框的GifDemo应用程式,接受任何缺省选项即可;

2.在项目中插入文档:把PictureEx.h,PictureEx.cpp文档copy 到项目文档夹下(PictureEx下载),Project->Add to Project->Files中选上PictureEx.h,PictureEx.cpp, Insert;

3.加入图片控件:从对话框控件中把Picture Control(图片控件)拖入主对话框中,修改其属性:ID:IDC_GIF,TYPE:Rectangle,其余接受缺省选项。再在ClassWiard中为IDF_GIF加入CSatic控制变量m_GifPic, 注意看一下,GifDemoDlg.h中是否加上了#include "PictureEx.h"(由ClassWiard加入)。然后将CSatic m_GifPic;更改成CPictureEx m_GifPic;

4.添加GIF图片到工程:先将要加载的动画文档放到 res 资源文档夹下,再将其Import进项目中,由于MFC只支持256BMP文档的图片,因此,我们要新建一个图片类型:"GIF",我在这里将我网站的宣传图片roaring.gif放进去 ,并将其ID修改成:IDR_GIFROARING。import(导入)gif动画的周详过程:
在resourceview窗口中,单击鼠标右键,在出现的环境菜单中选择“import...”命令,会出现“import resource”选择文档对话框,文档类型选择“任何文档(*.*)”,open as 选项为"auto",再选择动画文档所在目录,选上要载入的动画文档 roaring.gif,再单击 import,由于gif动画类型不是vc默认的文档类型,这时会出现"custom resource type"对话框,键入“"gif"”,再单击ok,然后再修改其id。

5.在程式的适当位置添入加载代码: 这里,我们在CGifDemoDlg::OnInitDialog()函数中加入如下代码: 
// TODO: Add extra initialization here
if (m_GifPic.Load(MAKEINTRESOURCE(IDR_GIFROARING),_T("Gif")))
m_GifPic.Draw();  
查看PictureEx类,会发现类中有多个load函数,其中一个可以Load文件名,但是调用过程不是简单的Load,在Draw的样子显示GIF动画。试验多次后来发现需要在Load文件之前 Static::Create一下。 源码如下:
 m_GifPic.Create(NULL,WS_CHILD | WS_VISIBLE |SS_ENHMETAFILE,CRect(50,50,100,100),this,1234);
 m_GifPic.Load(_T("c://1.gif")); 
 m_GifPic.Draw();//
 
OK  使用PictureEx动态加载GIF文件完成

MFC加载GIF动画相关推荐

  1. MFC 加载gif动态图片的方法

    在一个项目中需要加入GIF动画.一个版本时通过IE浏览器显示网页的形式,js脚本.CSS他人编写较繁琐:另一个VC项目需要使用MFC直接加载GIF动画.加载GIF动画网上有多种方式,大多数是将GIF填 ...

  2. MFC加载gif动态图片的方法

    在一个项目中需要加入GIF动画.一个版本时通过IE浏览器显示网页的形式,js脚本.CSS他人编写较繁琐:另一个VC项目需要使用MFC直接加载GIF动画.加载GIF动画网上有多种方式,大多数是将GIF填 ...

  3. WPF 加载等待动画

    WPF 加载等待动画 原文:WPF 加载等待动画 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_29844879/article/detail ...

  4. ios 旋转加载gif_加载GIF动画方法 iOS

    方法一 使用UIWebView _codeStr为gif网址      如果是本地的gif可以直接使用dataWithContentsOfFile方法 NSData *data = [NSData d ...

  5. CSharpGL(50)使用Assimp加载骨骼动画

    CSharpGL(50)使用Assimp加载骨骼动画 在(http://ogldev.atspace.co.uk/www/tutorial38/tutorial38.html)介绍了C++用Asism ...

  6. html 载入中,用纯CSS实现加载中动画效果

    今天要介绍的是用简单的CSS--只用CSS,不用Gif--制作"加载中-"动画效果.先看看效果: 上面的这个加载中效果,以前是用gif动图实现的,但随着CSS的进步,CSS动画功能 ...

  7. 加载数据时,页面显示正在加载的动画,支持移动端

    最近在使用ionic3做一个移动端APP,在用户网络环境差的时候,查询数据会比较慢,这个时候需要模拟其他成熟的APP给页面上加入一个加载的动画.由于一开始我不知道ionic3本身已经提供了一套组件,所 ...

  8. android刷新时的圆形动画_Android自定义加载圈动画效果

    本文实例为大家分享了Android自定义加载圈动画展示的具体代码,供大家参考,具体内容如下 实现如下效果: 该效果图主要有3个动画: 1.旋转动画 2.聚合动画 3.扩散动画 以上3个动画都是通过Va ...

  9. WBLoadingIndicatorView(加载等待动画)

    中文说明 基于CALayer封装加载等待动画,目前支持6种类型动画: typedef NS_ENUM(NSInteger, WBLoadingAnimationType) { WBLoadingAni ...

最新文章

  1. Palo Alto 亚太区首席安全官:未来中国五大安全问题突出...
  2. 2020春季学期信号与系统课堂参与信息处理
  3. 计算机安全设,默认的安全性还不够!这几个保护计算机的步骤要设置好
  4. chrome console js多行输入
  5. 【C++基础】C++11的noexcept声明符 与 异常传播
  6. LeetCode 1681. 最小不兼容性(回溯+剪枝)
  7. iOS 设计模式之工厂模式
  8. ffmpeg转换格式
  9. 模式窗口(Modal Dialog) 导致 Session丢失的解决办法
  10. pytorch中的 nn.ModuleList 和 nn.Sequential
  11. 虚拟化试题1-网络和存储
  12. HTC G14解锁S OFF 刷机 获取ROOT权限
  13. IP切换器是做什么用的?
  14. 几款开源聊天软件对比
  15. excel数据处理技巧笔记
  16. js让html转excel时间格式,js读取excel中日期格式转换问题
  17. 统计学考研笔记:季度指数
  18. css 设置打印a4,CSS设置A4纸大小。
  19. 学嵌入式需要报培训班吗?
  20. 重装系统,超详细教程

热门文章

  1. 产品原型设计教程:墨刀
  2. 2022最新微信表白墙小程序源码+美观好看
  3. 小白鼠问题(海明码)
  4. ATA并口硬盘接口图解
  5. 问题解决:LaTeX biblatex 参考文献出现 [S.l.]: [s.n.]的问题
  6. 点击 数字随着变化html,js数字随着其他数字变化而变化?
  7. Ubuntu1804安装nginx
  8. android qq分身,手机qq怎么分身
  9. knif4j 在线APl 文档测试
  10. 用Python写前端是什么体验?