最近老總說要把視圖裏的圖標改成動態的,讓其能夠更形象的顯示狀態,所以我就百度了一下,還真沒很詳細的資料,但最終我還是東湊湊,西湊湊給湊出來了,下面說一下詳細步驟吧:
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圖片了。