vb添加GIF动态图片

摘要:
图片添加到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 Next

    Set pMC = New FilgraphManager

    pMC.Stop

    pMC.RenderFile ""

    '加载GIF文件

    OnErrorGoTo Lhandle

'    pMC.RenderFile App.Path & "\enter.gif" '加载GIF动画(图片)

    pMC.RenderFile App.Path & "\20110606.jpg"

    OnErrorResumeNext

    Set pVW = pMC

    pVW.WindowStyle = CLng(&H6000000)

    '限定动画在Picture1的大小中

    pVW.Left = 0

    pVW.Top = 0

    pVW.Width = Picture1.ScaleWidth

    pVW.Height = Picture1.ScaleHeight

    pVW.Owner = Picture1.hWnd '在Picture1中显示

    pVW.MessageDrain = Picture1.hWnd '此行非常重要,用来定义动画的右键菜单所必须

    pMC.Run

Exit Sub

Lhandle:

    MsgBox ("Load Error!")

End Sub

(3)、command2的单击事件

Private Sub Command2_Click()

         pMC.Stop

         Set pVW = Nothing

         Set pMC = Nothing

End Sub

 (4)、窗体的下载事件

PrivateSub Form_Load()

    Me.ScaleMode = 3

    Picture1.ScaleMode = 3

End 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 Next

         Set pMC = New FilgraphManager

         pMC.Stop

         pMC.RenderFile ""

         '加载GIF文件

         On Error GoTo Lhandle

         pMC.RenderFile "c:\1.gif"        '加载GIF动画(图片)

         'On Error Resume Next

         Set pVW = pMC

         pVW.WindowStyle = CLng(&H6000000)

         pVW.Left = 0

         pVW.Top = 0

         pVW.Width = Image1.Width / Screen.TwipsPerPixelX

         pVW.Height = Image1.Height / Screen.TwipsPerPixelY

         pVW.Owner = 0

         pVW.MessageDrain = 0

         pMC.Run

         Exit Sub

Lhandle:

         MsgBox ("加载文件错误!")

End Sub

(3)、command2的单击事件

Private Sub Command2_Click()

         pMC.Stop

         Set pVW = Nothing

         Set pMC = Nothing

End Sub

(4)、窗体的初始化

Private Sub Form_Load()

     Image1.Visible = False

     Image1.Width = Screen.TwipsPerPixelX

     Image1.Height = Screen.TwipsPerPixelY

     Set 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

vb添加GIF动态图片第1张

三、最麻烦的方法

用PictureBox控件或Image控件或窗体的背景图片来显示动的图片,可以考虑用Timer控件使每隔一定的时间就更改一次控件的Picture属性来切换控件的图片以达到动画的效果。

首先要用Gif编辑软件将Gif图片中的一个个小图片另存到“C:\新建文件夹\”中,并依次重命名为0.gif、1.gif、2.gif……

然后写代码:

Dim i As Integer

Private Sub Timer1_Timer()
On Error Goto Err
url = "C:\新建文件夹\" & i & ".gif"
Me.Picture = LoadPicture url
i = i + 1
Exit Sub
Err:
i = 0
Exit Sub

免责声明:文章转载自《vb添加GIF动态图片》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇全新Ubuntu-13.04安装配置redmineFIR滤波器的实现方法(转)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#中析构函数,命名空间及字符串的运用(Ninth day)

又到了总结知识的时间了,今天在云和学院学习了析构函数,命名空间及字符串的处理,现在就为大家总结下来。 理论: 析构函数 不能在结构中定义析构函数。只能对类使用析构函数。 一个类只能有一个析构函数。 无法继承或重载析构函数。 无法调用析构函数。它们是被自动调用的。 析构函数既没有修饰符,也没有参数。 命名空间 •namespace(命名空间),用于解决类重...

winform右下角弹窗

网页是否经常在电脑右下角弹窗显示消息?其实Winform也是可以实现的。下面介绍两种方法。 第一步:设计窗体 第二步:实现代码 第一种方法 引用user32 声明常量 窗体Load事件 窗体FormClosing事件 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24...

如何退出正在Sleep的线程

    今天有个同事问我Thread的Interrupe方法,这个方法用于终止另一个正在等待(Sleep/Wait/Join)状态的线程,如果那个线程未处于等待状态,则等到下次进入等待状态时再抛出。     这个方法的平时用的机会其实并不大,由于需要线程处于等待状态,很大程度上限制了使用的机会,因此问了下同事实际的使用场景,原来是某些线程进入了长时间的Sl...

C# 获取当前程序路径方法整理

1. //获取包含清单的已加载文件的路径或 UNC 位置。 public static string sApplicationPath = Assembly.GetExecutingAssembly ( ).Location; //result: X:xxxxxxxxx.dll (.dll文件所在的目录+.dll文件名) 2. //获取当前进程的完整路径...

URL编码方法比较 Encode,Javascript,escape,encodeURI,encodeURIComponent,UTF8

javascript中存在几种对URL字符串进行编码的方法:escape(),encodeURI(),以及encodeURIComponent()。这几种编码所起的作用各不相同。 escape() 方法: 采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等...

html2canvas踩坑日记

近日要开发一个能将生成的二维码另存为图片的功能(该图片呢,肯定不止一个二维码,还包括背景、文字等其他元素),首先呢,就想到了html2canvas,随便一百度就是各种踩坑日志,我也随一下大流,记录本人在开发过程中遇到的坑。 1.基本用法: 在html2canvas上找到了它的基本用法以及压缩包 <div style="padding: 10px;...