VS2010 对话框加载GIF图片[1]
[TOC]
Syntax
在对话框中添加一个Staic或者Picture Control控件,修改ID
为控件添加一个Control类型的变量,如
CStaic m_picture
在对话框
*Dialog.h
中包含PictureEx.h
,即#include "PictureEx_src\PictureEx.h"
修改
*Dialog.h
中控件变量的类型为CPictureEx
在
*Dialog.cpp
中的OnInitDialog
中添加
// 第一种我加载的GIF只显示一帧
// 从文件加载,成功返回1
//if ( m_picture.Load(_T("res\mypicture.gif") )
//{
//m_picture.Draw;
//}
// 从资源加载
if (m_startGif.Load(MAKEINTRESOURCE(IDR_GIF2),_T("GIF")))
{
SetTimer(1,7500, NULL);
m_startGif.Draw();
}
-
设置停止
CPictureEx[Wnd]::Stop()
:停止播放CPictureEx[Wnd]::UnLoad()
:停止播放并释放资源定时停止,在
OnTimer()
中添加
CDialog::OnTimer(nIDEvent); switch (nIDEvent) { case 1: // stop the animation and free all its resources m_Picture.UnLoad(); //OnOK(); break; default: break; }
实现结果
MFC-Load-GIF
加载GIF资源[2]
直接加载GIF,图片会被VS2010改变成静态图片,将会修改图片文件头。
解决方法:
将GIF文件的属性设置为只读,然后再导入
加载GIF资源[3]
打开资源视图,添加资源,选择自定义,输入
“GIF"
导入资源,直接添加对应的GIF图片,资源类型选中,导入的图片会被修改为静态图片"GIF"
-
打开解决方案浏览器,打开资源文件,右击添加,选择现有项,选中对应的GIF文件
- 右击GIF文件,选择打开方式,选择二进制编辑器,打开
在二进制编辑器中可以看到,GIF文件头并没有被改变,全选,复制
回到资源视图,选择插入GIF,复制的内容粘贴到新建的GIF资源里面来
-
Add GIF-animation to your MFC and ATL projects with the help of CPictureEx and CPictureExWnd ↩
-
添加GIF ↩
-
加载GIF资源 ↩