vb添加GIF动态图片
????????眾說周知,GIF格式動畫文件具有小巧、制作方便等特點,因此在網上得到廣泛應用,在vb的picturebox和image控件添加圖片后變成靜止的了,這給我們設計VB應用程序帶來了不便。原來以為實現起來特別的麻煩,又要注冊控件,還得添加部件。通過學習方法特別很多,而且并沒有多麻煩:
一、最簡單的方法
1、在picturebox控件中添加gif格式圖片
???????首先、需要注冊,注冊方法:在工程中選中“引用”→引用項目ActiveMovie Control type Libray→然后點擊“確定”鍵即可。
???????其次、'在PictureBox控件中顯示GIF動畫(圖片),凡有句柄hwnd的窗體控件均可以;在窗體Form1上添加2個命令按鈕Command1,Command2和1個圖片框控件Picture1。
(1)、在代碼窗口的通用段添加:
'調用運動圖像類型庫Quartz.dll,在c:\windows\system32目錄下Private pMC As FilgraphManager '定義pMC為FilgraphManager對像Private pVW As IVideoWindow '定義pVW為IVideoWindow對像(2)、command1的單擊事件
PrivateSub Command1_Click()On Error Resume NextSet pMC = New FilgraphManagerpMC.StoppMC.RenderFile ""'加載GIF文件OnErrorGoTo Lhandle' pMC.RenderFile App.Path & "\enter.gif" '加載GIF動畫(圖片)pMC.RenderFile App.Path & "\20110606.jpg"OnErrorResumeNextSet pVW = pMCpVW.WindowStyle = CLng(&H6000000)'限定動畫在Picture1的大小中pVW.Left = 0pVW.Top = 0 pVW.Width = Picture1.ScaleWidthpVW.Height = Picture1.ScaleHeightpVW.Owner = Picture1.hWnd '在Picture1中顯示pVW.MessageDrain = Picture1.hWnd '此行非常重要,用來定義動畫的右鍵菜單所必須 pMC.RunExit SubLhandle:MsgBox ("Load Error!")End Sub(3)、command2的單擊事件
Private Sub Command2_Click()pMC.StopSet pVW = NothingSet pMC = NothingEnd Sub?(4)、窗體的下載事件
PrivateSub Form_Load() Me.ScaleMode = 3Picture1.ScaleMode = 3End Sub?2、在image控件中添加gif格式圖片中
????? 由于image控件沒有句柄,實現起來有點麻煩,而且效果不是很好,基本的過程和代碼是一樣,只是有點稍微的區別
?????? 首先、注冊跟上面一樣。
?????? 其次、在窗體Form1上添加2個命令按鈕Command1,Command2和1個圖片框控件image1
(1)、在代碼窗口的通用段添加:
?'調用運動圖像類型庫Quartz.dll,在c:\windows\system32目錄下
Private pMC As FilgraphManager
Private pVW As IVideoWindow
(2)、command1的單擊事件
Private Sub Command1_Click()On Error Resume NextSet pMC = New FilgraphManagerpMC.StoppMC.RenderFile ""'加載GIF文件On Error GoTo LhandlepMC.RenderFile "c:\1.gif" '加載GIF動畫(圖片)'On Error Resume NextSet pVW = pMCpVW.WindowStyle = CLng(&H6000000)pVW.Left = 0pVW.Top = 0pVW.Width = Image1.Width / Screen.TwipsPerPixelXpVW.Height = Image1.Height / Screen.TwipsPerPixelYpVW.Owner = 0pVW.MessageDrain = 0pMC.RunExit SubLhandle:MsgBox ("加載文件錯誤!")End Sub(3)、command2的單擊事件
Private Sub Command2_Click()pMC.StopSet pVW = NothingSet pMC = NothingEnd Sub(4)、窗體的初始化
Private Sub Form_Load()Image1.Visible = False Image1.Width = Screen.TwipsPerPixelXImage1.Height = Screen.TwipsPerPixelYSet Image1.Picture = LoadPicture("c:\1.gif")End Sub???? 綠色是代碼不相同的地方,控件不同,添加的gif的圖片最終實現的效果也不相同。
二、一個全新的處理方案:通過在VB中調用IE瀏覽器來實現GIF動畫的播放,實際使用表明:效果甚好。
具體方法如下:
1.由于WebBrowser控件并不是VB的基本控件,因此在使用該控件之前必須先將其裝入工具箱中。裝入方法:在工具箱中點擊鼠標右鍵→選中“部件”→復選Microsoft ? Internet ? Controls→然后點擊“確定”鍵即可或在工程中選中“部件”→復選Microsoft ? Internet ? Controls→然后點擊“確定”鍵即可。
2.選取WebBrowser控件,添加到窗體的相應位置上。
3.設計相應代碼,通過使用WebBrowser控件的Navigate方法播放GIF動畫文件。
Navigate方法的語法格式為:
WebBrowser控件名.NavigateURL[Flags,][TargetFrameName,][PostData,][Headers]
WebBrowser控件支持的主要方法有:
GoBack: ? 回退到上一屏。
GoForward: ? 進入到下一屏。
GoHome: ? 回家。即回到主頁。
Stop: ? 停止導航。
Refresh: ? 刷新。
Navigate:導航。
WebBrowser控件所響應的事件:
BeforeNavigate事件: ? 在開始導航前發生。一般在此獲取完整的URL字符串。
WebBrowser控件最主要的參數: URL: ? 獲得導航用的標準URL字符串。例如:它能將”www.MicroSoft.Com”自動翻譯為“http://www.MicroSoft.com”.URL是Uniform ? Resource ? Locator的縮寫,是在Internet的WWW服務程序上用于指定信息位置的表示方法。
下面我們結合一個實例進行具體說明:動畫用WebBrowser控件實現播放。
所需控件: WebBrowser控件
Private Sub Form_Load() ’在Form_Load()事件中進行初始化工作WebBrowser1.Navigate(App.Path& "new1.gif ")end sub
三、最麻煩的方法
用PictureBox控件或Image控件或窗體的背景圖片來顯示動的圖片,可以考慮用Timer控件使每隔一定的時間就更改一次控件的Picture屬性來切換控件的圖片以達到動畫的效果。
首先要用Gif編輯軟件將Gif圖片中的一個個小圖片另存到“C:\新建文件夾\”中,并依次重命名為0.gif、1.gif、2.gif……
然后寫代碼:
轉載于:https://www.cnblogs.com/ainima/archive/2012/04/28/6331088.html
總結
以上是生活随笔為你收集整理的vb添加GIF动态图片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三种banner基础形态
- 下一篇: 项目管理之道之沟通管理-外部接口只能有一