MFC——添加Gif动画

显示gif动画,这里用到CPictureEx类库,从网上能找到,下面一步一步来实现显示gif动画。

1、创建一个对话框,在对话框上添加一个图片控制和一个文控件,效果如下图:

2、图中的灰色块就是图片控件,要修改它的属性才会变成灰块,修改了两个属性,如下图:

3、选中图片控件,Ctrl + 双击,给它添加成员变量:

// CStatic m_gifCtrl;
CPictureEx m_gifCtrl;

添加的变量是CStatic m_gifCtrl,我们把它改成CPictureEx m_gifCtrl,当然,要添加CPictureEx头文件,在对话框的头文件中添加:

#include "PictureEx.h"

4、在对话框的OnInitDialog()函数中添加如下代码就可以显示动态gif图片了:

复制代码
 1 BOOL CDlgWaiting::OnInitDialog()
 2 {
 3     CDialogEx::OnInitDialog();
 4 
 5     CString strFile = GetAbsolutePath() + _T("waiting.gif");
 6     if (m_gifCtrl.Load(strFile))
 7     {
 8         m_gifCtrl.Draw();
 9     }
10     return TRUE; 
11 }
复制代码

注意:我用VS2012,如果把gif文件添加到项目的资源中,第6行使用Load资源的方式加载gif,那最后显示出来的是表态图片,并不是动态的图片。

这里我把gif图片放到了执行文件的目录下,所以调用GetAbsolutePath()函数来获取执行文件的目录,GetAbsolutePath()函数代码如下:

复制代码
 1 // 获取执行文件所有的路径
 2 CString GetAbsolutePath()   
 3 {   
 4     CString strTemp;   
 5     TCHAR *pBuf = strTemp.GetBuffer(MAX_PATH);
 6 
 7     ::GetModuleFileName(NULL, pBuf, MAX_PATH);   
 8     strTemp.ReleaseBuffer();
 9     strTemp = strTemp.Left(strTemp.ReverseFind(_T('\\'))) + _T('\\');   
10 
11     return strTemp;
12 }
复制代码

最后运行程序,我在另一个窗口中点击执行,弹出这个有gif动画的窗口,效果如下图:

用到的gif图片是,用http://preloaders.net/网站生成的。

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值