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图片了。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/adriano119/archive/2009/01/15/3786378.aspx
1,按钮属性 Onwer Drew选上,按钮ID: IDC_BUTTON1 2,定义private变量: CBitmapButton m_button; 3,在初始化里边 m_button.LoadBitmaps(IDB_BITMAP1, IDB_BITMAP2);//IDB_BITMAP1:平时;IDB_BITMAP2:按下 m_button.SubclassDlgItem(IDC_BUTTON1, this); m_button.SizeToContent(); |