你好,欢迎访问远方教程PC版!
广告位招租
网站首页 >> 统计之窗 >> VB专区 >> 文章内容

VB应用举例13:在VB6.0中播放GIF动画

[日期:2014-12-20]   来源:远方教程  作者:VBFans   阅读:3219次[字体: ] 访问[旧版]
 捐赠远方教程 

  摘 要:由于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安装完成后,我们便 可以在VB 6.0中使用IE所提供的WebBrowser控件播放GIF动画了。具体方法如下:

  1. 由于WebBrowser控件并不是VB的基本控件,因此在使用该控件之前必须先将其装入工具 箱中。装入方法:在工具箱中点击鼠标右键→选中“部件”→复选Microsoft Internet Controls→然后点击“确定”键即可。

  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是Uniform Resource Locator的缩写,是 在Internet的WWW服务程序上用于指定信息位置的表示方法。

  下面我们结合一个实例进行具体说明。这是一个“画中画”滚动显示应用程序,界面由循环滚 动显示的文字、背景图象、和播放的GIF动画三部分组成。其中循环显示的文字用透明 的Label控件实现;动画用WebBrowser控件实现播放。

  ①所需控件:

  本程序需要一个PictureBox控件、一个Label控件、一个WebBrowser控件、一个Timer控件。

  ②各控件的属性设置如下:

控件名称 属性 设置值 含 义 
Label1控件 BackStyle 0 设置Label1控件的背景是透明的。 
Timer1控件 Interval 200 设置每0.2秒发生一次Timer1_Timer()事件。 

  ③各事件的相应代码如下:

  • 首先定义一个变量,以便用它来存放需要滚动显示的字符串。

     

 DimaaAsString
  • 在Form_Load()事件中进行初始化工作,具体代码如下:

     

Private Sub Form_Load() 
Picture1.Picture = LoadPicture(App.Path & "\demo1.jpg") 
WebBrowser1.Navigate (App.Path & "\new1.gif")

    aa = " 这是一个利用网络浏览器IE中WebBrowser控件制作的GIF动画播放程序。"

 Label1.ForeColor = QBColor(11) 
Label1.FontSize = 18 
Label1.Caption = aa 
End Sub 
◆ 在Timer1_Timer()事件中,每隔0.2秒改变一次Label1控件的Caption属性值。 
Private Sub Timer1_Timer() 
’让字符串头尾相接,以便形成滚动效果。 
aa = Mid(aa, 2, 59) + Mid(aa, 1) 
Label1.Caption = aa 
End Sub 
◆ 在Picture1_Click()事件中,卸载并退出应用程序。 
Private Sub Picture1_Click() 
Unload Me 
End Sub 

----④调 整各控件至适当的大小和位置。

  二、注意事项及附加说明

  1. 不同版本IE的Microsoft Internet Controls所包含的控件及控件数量是不同的。设计 者在使用时必须注意这一点。

  ① WINDOWS 95所带的IE 3.0的Microsoft Internet Controls只包含一个控件, 即WebBrowser控件。

  ②中 文版IE 4.0 CN的Microsoft Internet Controls包含两个控件,即WebBrowser控件 和DownUp控件。

  ③英 文版IE 4.01的Microsoft Interne tControls包含两个控件,即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。具体步骤如下:

  从Microsoft Developer Network中选择MSDN Library Visual Studio 6.0,查找关Reusing the WebBrowser Control的主题,位置在Interne Explorer:Platfrom SDK。从哪可以找到有关WebBrowser控件的详尽资料。

  3. 注意你的发布权限。由于受到软件知识产权的影响,任何软件都有它的发行权限。 在Visual Basic中,你可以自由地发布任何由Visual Basic创建的应用程序、部 件、DLL、ActiveX控件、各种媒体文件、示例应用程序(在\Samples子目录下)以及系统第 一次安装VisualBasic时最初复制到VisualBasic主目录的\Icons子目录、\Graphics 子目录、\ODBC子目录下的任何文件。但除此之外的其它软件一般都不允许你发布。例如: 你的应用程序中包含有对网络浏览器IE的引用,那么“应用程序安装向导”在创建你的安 装程序时,就会因试图发布无权发布的软件而出错。

  错误原因:因为我们无权用Visual Basic的“应用程序安装向导”来发布网络浏览器IE。那么既然我们不能在VB的应用程序中发布网络浏览器IE,又怎么样保证应用程序中的引用能 得以实现呢?

  解决办法①:如果用户的计算机上已经安装了网络浏览器IE,那么直接安装你开发的应用程 序即可。

  解决办法②:如果用户的计算机上还未安装网络浏览器IE,那么只要在运行你的应用程序之 前,安装上网络浏览器IE即可。

  需要说明的是,上述解决方法具有普遍性,如果你的应用程序在发布时遇到类似的问题(例 如:你的应用程序中包含有对Word、Excel的引),均可照此处理。

图片展示
 
 
相关评论
站长推荐