VC中加载GIF格式动态图片的详细方法!
最近老总说要把视图里的图标改成动态的,让其能够更形象的显示状态,所以我就百度了一下,还真没很详细的资料,但最终我还是东凑凑,西凑凑给凑出来了,下面说一下详细步骤吧:
1。下载 PictureEx.h和PictureEx.cpp两个文件
把这两个文件放在工程的文件夹里面,然后在将这两个文件添加到工程里面去,这样你的工程里就多了一个类了:CPictureEx
2.将你要加载的GIF图片添加到项目文件夹里,这里我命名为:"inter.gif"
3。在试图类的头文件里添加: #include "PictureEx.h"
定义一个对象: CPictureEx m_GifPic;
4.在视图类的OnCreate中创建 CPictureEx 对象并加载图片:
m_GifPic.Create(NULL,WS_CHILD | WS_VISIBLE |SS_ENHMETAFILE,CRect(50,50,100,100),this,1234);
m_GifPic.Load(_T("inter.gif"));
m_GifPic.ShowWindow(SW_HIDE);//SW_SHOW
注意:这一步骤不要在OnDraw里面实现,否则会出现错误,我一开始时一直有问题就是这个原因,还有load必须在movewindow(下一步的函数)之前,否则不会显示图片,还有就是load也可以放到ondraw里面去,但是那么做的话速度明显不行了。
5。在ondraw里改变窗口位置并显示图片
CRect rc =CRect(100,400,150,450);
m_GifPic.MoveWindow(&rc,true);
m_GifPic.Draw();
m_GifPic.ShowWindow(SW_SHOW);
:一开始一直不知道怎么改变窗口位置,后来在CSDN上发帖求助,才知道时MOVEWINDOW函数,看来经验还是不足啊,我应该自己想到的。
就这样,就可以显示动态的GIF图片了。
VC中加载GIF格式动态图片的详细方法!相关推荐
- VC静态加载DLL和动态加载DLL
VC静态加载DLL和动态加载DLL 1. 静态加载DLL 如果你有a.dll和a.lib,两个文件都有的话可以用静态加载的方式: message函数的声明你应该知道吧,把它的声明和下面的语句写到一个头 ...
- [WM C++]从资源文件中加载显示png/jpg图片
一. 实现代码 void DrawImage(HDC hdc,RECT& rc,UINT nIDResource,CString lpType) { HINSTANCE hInst = ...
- 四个步骤实现在ESRI ArcMap中加载17.6G离线卫星地图的方法
四个步骤实现在ESRI ArcMap中加载17.6G离线卫星地图的方法 ArcMap是GIS行业的从业人员再熟悉不过的一款功能非常强大的软件,尤其是对从事地质方面工作的外业人员来讲,更是一款不可或缺的 ...
- 在Arcmap中加载互联网地图资源的4种方法
在Arcmap中加载互联网地图资源的4种方法 前一段时间想在Arcmap中打开互联网地图中的地图数据,如影像数据.基础地图数据等,经过简单研究目前总结了四种方法,整理下与大家分享,有些内容可能理解有误 ...
- 从内存中加载并运行exe(两种方法)
windows似乎只提供了一种启动进程的方法:即必须从一个可执行文件中加载并启动. 而下面这段代码就是提供一种可以直接从内存中启动一个exe的变通办法. 用途嘛, 也许可以 ...
- VC下加载多种格式图片的方法总结
From: http://www.cnblogs.com/Daywei/archive/2011/03/19/1988848.html 尽管VC有提供相应的API和类来操作bmp位图.图标和(增强)元 ...
- WPF加载SVG格式的图片
首先,SVG是一种用XML定义的语言,用来描述二维矢量及矢量/栅格图形. 接下来加载步骤: 1.在安装nuget包:SharpVectors 2.引入命名空间 xmlns:svgc="htt ...
- WPF加载相对路径的图片的解决方法
相对路径: 在项目中添加一个文件夹UserHeadFace ,在文件夹下添加一个default.jpg的图片,打开图片文件的属性,将"复制到输出目录"选中"始终复制&qu ...
- VC从文件中加载图片
用MFC做GDI开发的朋友肯定熟悉CBitmap类,该类封装了HBITMAP对象,简化了关于HBITMAP的API操作,如LoadBitmap方法可直接加载资源中指定ID的图片,但是很多情况下我们需要 ...
最新文章
- linux文件权限详解
- Kubernetes 架构(下)【转】
- Java中的String数据类型归纳
- JavaScript 创建类/对象的几种方式
- Hadoop入门基础教程 Hadoop之单词计数
- 滚动时间选择器recyclerview_Android自定义可循环的滚动选择器CycleWheelView
- Python课程期末考试编程题自动批卷原理与实现模板
- iPad上的Cookie到底有多长?
- DataReader转换为List的一种实现
- PyTorch 中两大核心转置函数 transpose() 和 permute()(类似numpy的交换维度、转置)
- 网课题库收录API接口以及免费网课查询API接口
- Python爬取城市二手房数据
- 猪圈密码 摩斯密码 QWE加密 栅栏加密 当铺密码
- Function eregi is deprecated (解决方法)
- 苹果微信昵称表情php,苹果手机微信名如何使用特殊符号
- Android IOS平台AE动画库
- Android从零开始搭建MVVM架构(3)——ViewModel
- 用于深度神经网络的语音信号预处理
- Neuronal Dynamics:Hodgkin-Huxley model 实验结果展示
- Linux(CentOS)下安装NVIDIA GPU驱动
热门文章
- bat的命令若干用法
- 8K+虚拟现实技术写入《虚拟现实与行业应用融合发展行动计划(2022—2026年)》
- 安全扫描失败无法上传_重要通知丨开始上传!学院奖2020春季征集活动作品上传通道已经开启了!...
- mac 强制停止进程
- 大数据培训课程Hadoop数据压缩
- 什么是信息安全风险评估?企业如何做?
- 视频怎么转换成mp3?视频提取音频超简单的方法
- Java.Net虚拟机精简(GreenJVMGreenDotNet发布) .
- web网站功能实现的业务逻辑分析
- 区块链浏览器与合约代码