程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> 在VB6.0中播放GIF動畫

在VB6.0中播放GIF動畫

編輯:VB綜合教程
摘要:由於GIF格式動畫文件具有小巧、制作方便等特點,因此在網上得到廣泛應用,但遺憾的是VB中的多媒體控件卻無法播放它,這給我們設計VB應用程序帶來了不便。在此我們向大寫介紹一種利用網絡浏覽器IE實現在VB中播放GIF動畫的方法。並給出一個簡捷、實用的“畫中畫”滾動顯示程序。
  
  ----GIF動畫格式文件是一種動態存儲的圖形格式文件。在內容相同的條件下,與其它格式文件相比,由於它占用的存儲空間少,且制作手段成熟,可浏覽的軟件工具也很多,所以倍受設計者的青睐。然而令人遺憾的是,在VisualBasic中,無論是多媒體控件MCI、MCIWnd,還是Animation控件,甚至調用
  WindowsAPI函數都無法播放GIF格式的動畫文件。造成這一現象的原因在於GIF動畫格式文件不是VB多媒體控件所支持的視頻格式文件(VB多媒體控件所支持的視頻格式文件主要有:AVI格式、MOV格式、FLI格式、FLC格式等)。以往我們的解決方法是:首先利用一些格式轉換工具,比如GIFMovieGear將GIF格
  式的動畫文件轉換為AVI格式的動畫文件,然後再用多媒體控件MCI和MCIWnd進行播放。但這種做法主要存在以下兩個缺陷:
  
  ----1.所形成的AVI格式動畫文件太大(常常是GIF格式文件的幾十倍),從而影響系統的效率。
  
  ----2.所形成的AVI格式動畫文件往往帶有比較復雜的調色板信息,所以當程序在播放這種AVI格式動畫文件時,如果還兼有動態顯示的文字和圖象信息,則整個畫面就會產生抖動和閃爍,從而使顯示效果大受影響。
  
  ----為解決這個問題,我們在此提出一個全新的處理方案:通過在VB中調用IE浏覽器來實現GIF動畫的播放,實際使用表明:效果甚好。
  
  ----一、浏覽器IE和WebBrowser控件
  
  ----眾所周知,運行VB6.0需要安裝浏覽器IE4.0或以上版本,當IE4.0和VB6.0安裝完成後,我們便可以在VB6.0中使用IE所提供的WebBrowser控件播放GIF動畫了。具體方法如下:
  
  ----1.由於WebBrowser控件並不是VB的基本控件,因此在使用該控件之前必須先將其裝入工具箱中。裝入方法:在工具箱中點擊鼠標右鍵→選中“部件”→復選MicrosoftInternetControls→然後點擊“確定”鍵即可。
  
  ----2.選取WebBrowser控件(注意不同版本IE的WebBrowser控件的圖標是不同的,IE4.0中的WebBrowser控件的圖標是一個地球;IE3.0是一個搜索圖標。),添加到窗體的相應位置上。
  
  ----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是UniformResourceLocator的縮寫,是在Internet的WWW服務程序上用於指定信息位置的表示方法。
  
  ----下面我們結合一個實例進行具體說明。這是一個“畫中畫”滾動顯示應用程序,界面由循環滾動顯示的文字、背景圖象、和播放的GIF動畫三部分組成。其中循環顯示的文字用透明的Label控件實現;動畫用WebBrowser控件實現播放。
  
  ----①所需控件:
  
  ----本程序需要一個PictureBox控件、一個Label控件、一個WebBrowser控件、一個Timer控件。
  
  ----②各控件的屬性設置如下:
  
  控件名稱屬性設置值含義
  Label1控件BackStyle0設置Label1控件的背景是透明的。
  Timer1控件Interval200設置每0.2秒發生一次Timer1_Timer()事件。
  
  ----③各事件的相應代碼如下:
  
  首先定義一個變量,以便用它來存放需要滾動顯示的字符串。
  
  DimaaAsString
  
  在Form_Load()事件中進行初始化工作,具體代碼如下:
  
  PrivateSubForm_Load()
  Picture1.Picture=LoadPicture(App.Path&"demo1.jpg")
  WebBrowser1.Navigate(App.Path&" ew1.gif")
  
  ----aa="這是一個利用網絡浏覽器IE中WebBrowser控件制作的GIF動畫播放程序。"
  
  Label1.ForeColor=QBColor(11)
  Label1.FontSize=18
  Label1.Caption=aa
  EndSub
  
  ◆在Timer1_Timer()事件中,每隔0.2秒改變
  一次Label1控件的Caption屬性值。
  PrivateSubTimer1_Timer()
  `讓字符串頭尾相接,以便形成滾動效果。
  aa=Mid(aa,2,59) Mid(aa,1)
  Label1.Caption=aa
  EndSub
  ◆在Picture1_Click()事件中,卸載並退出應用程序。
  PrivateSubPicture1_Click()
  UnloadMe
  EndSub
  
  ----④調整各控件至適當的大小和位置。
  
  ----二、注意事項及附加說明
  
  ----1.不同版本IE的MicrosoftInternetControls所包含的控件及控件數量是不同的。設計者在使用時必須注意這一點。
  
  ----①WINDOWS95所帶的IE3.0的MicrosoftInternetControls只包含一個控件,即WebBrowser控件。
  
  ----②中文版IE4.0CN的MicrosoftInternetControls包含兩個控件,即WebBrowser控件和DownUp控件。
  
  ----③英文版IE4.01的MicrosoftInternetControls包含兩個控件,即WebBrowser控件和ShellFolderViewOC控件。
  
  ----2.實際上,在VB5.0中也可以使用WebBrowser控件播放GIF動畫,但如果VB5.0是安裝在WINDOWS95下,那麼必須安裝IE3.0或IE4.0;如果是安裝在WINDOWS98下,則可不必(因為WINDOWS98自帶IE4.0)。然而需要特別聲明的是:無論是VB5.0的聯機手冊,還是其它幫助文件,均未介紹有關WebBrowser控件的資料(因為WebBrowser控件不是VisualBasic的控件,而是由IE提供的。)。讀者如要詳細了解這方面的情況,請查閱VisualStudio98中的MSDN。具體步驟如下:
  
  ----從MicrosoftDeveloperNetwork中選擇MSDNLibraryVisualStudio6.0,查找關於ReusingtheWebBrowserControl的主題,位置在InternetExplorer:PlatfromSDK。從哪可以找到有關WebBrowser控件的詳盡資料。
  
  ----3.注意你的發布權限。由於受到軟件知識產權的影響,任何軟件都有它的發行權限。在VisualBasic中,你可以自由地發布任何由VisualBasic創建的應用程序、部件、DLL、ActiveX控件、各種媒體文件、示例應用程序在Samples子目錄下)以及系統第一次安裝VisualBasic時最初復制到VisualBasic主目錄的Icons子目錄、Graphics子目錄、ODBC子目錄下的任何文件。但除此之外的其它軟件一般都不允許你發布。例如:你的應用程序中包含有對網絡浏覽器IE的引用,那麼“應用程序安裝向導”在創建你
  的安裝程序時,就會因試圖發布無權發布的軟件而出錯。
  
  ----錯誤原因:因為我們無權用VisualBasic的“應用程序安裝向導”來發布網絡浏覽器IE。
  
  ----那麼既然我們不能在VB的應用程序中發布網絡浏覽器IE,又怎麼樣保證應用程序中的引用能得以實現呢?
  
  ----解決辦法①:如果用戶的計算機上已經安裝了網絡浏覽器IE,那麼直接安裝你開發的應用程序即可。
  
  ----解決辦法②:如果用戶的計算機上還未安裝網絡浏覽器IE,那麼只要在運行你的應用程序之前,安裝上網絡浏覽器IE即可。
  
  ----需要說明的是,上述解決方法具有普遍性,如果你的應用程序在發布時遇到類似的問題(例如:你的應用程序中包含有對Word97、Excel97的引用),均可照此處理。->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved