MFC用CPictureEx加载GIF动画

总结用CPictureEx加载gif动画的两种方法。

PictureEx图片显示类支持以下格式的图片:GIF (including animated GIF87a and GIF89a), JPEG, BMP, WMF, ICO, CUR等。

下载地址:http://download.csdn.net/download/derek80/5817505


方法一:通过控件加载gif

1、你的对话框中加入一个静态文本控件(Static Text)或图片控件(Picture Control),Group Box也可以;   

2、给控件的ID改个名字如IDC_MYPICTURE;   

3、利用ClassWizard给控件添加变量。如:Category-Control,Variable type-CStatic;   

4、在对话框的头文件中用CPictureEx替换CStatic(当然不要忘记在你的工程中加入PictureEx.h和PictureEx.cpp,并#include "PictureEx.h");   

5、在OnInitDialog(或者其他什么你喜欢的地方)加入下面的代码:   

if (m_Picture.Load(_T("mypicture.gif")))   //文件的路径,用相对路径或者绝对路径都行
    m_Picture.Draw();   

或者

if (m_Picture.Load(MAKEINTRESOURCE(IDR_GIF),_T("Gif")))//IDR_GIF导入工程gif的id属性,IDR_GIF是资源文件
m_Picture.Draw();

可以在onpaint()中移动加载gif的图片控件:

CRect rc =CRect(100,400,150,450);
m_Picture.MoveWindow(&rc,true);
m_Picture.Draw();

6、欣赏一下你的动画:)  

你可以像处理标准的CStatic一样处理CPictureEx,可以手动创建它(实际上,当你的工程窗口不是对话框时,你必须得这样),调用CPictureEx::Create(), 接着调用CPicureEx::Load()和CPicture::Draw()。 


方法二:手动创建

1.dlg头文件定义:CPictureEx *pAutoGif;

   要包含#include "PictureEx.h"

2.dlg的cpp文件实现动态加载gif:

 pAutoGif=new CPictureEx();
 pAutoGif->Create(NULL,WS_CHILD | WS_VISIBLE |SS_ENHMETAFILE,CRect(50,50,100,100),this,1234);
    if(pAutoGif->Load(_T("g1.gif")))
  pAutoGif->Draw();

MFC用CPictureEx加载GIF动画_第1张图片


你可能感兴趣的:(MFC)