当前位置:编程学习 > VB >>

在VB中哪个图片控件支持GIF格式的图片

在VB中哪个图片控件支持GIF格式的图片?试了下PICTUREBOX和IMAGE控件都不行,动画不动. --------------------编程问答-------------------- VB6沒有支持GIF格式圖片的。
用第三方OCX吧。
好象有個叫GIF89.OCX的 --------------------编程问答-------------------- Picture1.Picture = LoadPicture("D:\k119-48-00.gif")
楼主没有把问题说清楚吧,picture控件就支持gif格式的图片的啊。 --------------------编程问答-------------------- 不用第三放的话就用 richedit --------------------编程问答-------------------- 网上搜下:GifButton --------------------编程问答-------------------- GIF89.dll下了,也好使.但是我发现一注册它就把一个叫网络猪的流氓软件给注册上了,带了流氓软件,怎么办?而且一把流氓软件删除这种个控件就不好使了,得重新注册,气人啊, --------------------编程问答-------------------- 用了下WebBrowser1这个控件,我做了一个窗体FrmSplash,上面放一个WebBrowser1,作为一个单独的窗体GIF可以正常打开,也可以看到GIF图片,但要是放在另一个窗体FrmTest的LOAD事件中,发现窗体打不开,不显示,不知道为什么?
LOAD事件中的代码如下:
Private Sub Form_Load()
 FrmSplash.show
 'FrmTest 窗体load事件中从数据库提取数据,
 unlaod FrmSplash
End Sub
--------------------编程问答-------------------- 我也需找那个控件可以支持GIF的 --------------------编程问答-------------------- http://www.mndsoft.com/blog/article.asp?id=172 --------------------编程问答-------------------- 我也想了解,谢谢LZ. --------------------编程问答-------------------- PICTUREBOX控件是可以显示GIF图片及动画的!
方法是:1、把GIF动画当成媒体文件;
        2、用Windows提供的运动图像播放库quartz.dll(在c:\windows\system32下面)提供的播放函数播放即可;
        3、在PICTUREBOX中播放GIF动画。  

        这勾当我干过,很方便! --------------------编程问答-------------------- 有问题请先GOOGLE,BAIDU --------------------编程问答-------------------- 楼上的方法不错,赞一个 --------------------编程问答-------------------- 10楼的顶了  又学到了!!!!!! --------------------编程问答-------------------- 要把  Windows提供的运动图像播放库quartz.dll(在c:\windows\system32下面)提供的播放函数播放导入到VB么? --------------------编程问答-------------------- 要把  Windows提供的运动图像播放库quartz.dll(在c:\windows\system32下面)提供的播放函数播放导入到VB么? --------------------编程问答-------------------- 正确的OCX名称是 AniGif.ocx , 网上有得下载, 但需要注册码, 两年多以前我刚学VB时在美国买的, 那时相当的贵,美金 500元, 有商业注册证可以合法发行你的软件, 如未购买版权, 你只能玩玩,否则你就麻烦大大.

http://cbm666.com/demo.exe

这个软件是我的国家项目高速路收费系统的动画流程演示, 使用的就是这个Ocx, 我附上了源代码,你可以运行, 但如你要在VB6的设计时期用的话, 便会不停的出现让你注册的信息, 听说在中国的价格很低, 我怕心里不平衡没去问.

VB的GIF显示只能是静态的, 但你可以用VB的webbrowser或Animate两个控件播放动画,但效果不好,灵活性不大.

下面这个代码是使用Timer做的

【CBM666 的动画分割】
http://blog.csdn.net/cbm666/archive/2008/02/24/2116566.aspx

--------------------编程问答--------------------
引用 15 楼 chenglib 的回复:
要把  Windows提供的运动图像播放库quartz.dll(在c:\windows\system32下面)提供的播放函数播放导入到VB么?



quartz.dll属COM组件,在VB工程中引用即可.像Flash动画、Animation动画一样,你可以循环播放(一直播放),也可以播放一次结束。 --------------------编程问答-------------------- 在PictureBox控件中显示GIF动画,或GIF图片
简单几行搞定:
Option Explicit

'调用运动图像播放类型库Quartz.dll,在c:\windows\system32目录下
Public pMC As FilgraphManager '定义pMC为FilgraphManager对象
Public pVW As IVideoWindow '定义pVW为IVideoWindow对象
Public pVP As IMediaPosition
Public pBV As IBasicVideo

'播放GIF动画
Private Sub Command1_Click()
        On Error Resume Next
        Set pMC = New FilgraphManager
        pMC.Stop
        Set pVP = pMC
        pVP.StopTime = 0
        pMC.RenderFile ""
        
        
        On Error GoTo Lhandle
        pMC.RenderFile "E:\offline.gif" '加载GIF动画,并在PictureBox中播放
        Set pVP = pMC
        's = Str(pVP.Duration)
        
        On Error Resume Next
        Set pVW = pMC
        pVW.WindowStyle = CLng(&H6000000)
        pVW.Left = 0: pVW.Top = 0
        
        
        pVW.Owner = Picture1.hWnd
        pVW.MessageDrain = Picture1.hWnd
        pMC.Run
        
        
        Exit Sub
Lhandle:
        MsgBox ("加载文件错误!")
End Sub

'停止播放GIF动画
Private Sub Command2_Click()
        pMC.Stop
End Sub
--------------------编程问答--------------------
'改了一下,限定图像缩放到Picture1的大小
'在PictureBox控件中显示GIF动画(图片),凡有句柄hwnd的窗体控件均可以
Option Explicit

'调用运动图像播放类型库Quartz.dll,在c:\windows\system32目录下
Private pMC As FilgraphManager '定义pMC为FilgraphManager对象
Private pVW As IVideoWindow '定义pVW为IVideoWindow对象
'Public pVP As IMediaPosition
'Public pBV As IBasicVideo

'播放GIF动画
Private Sub Command1_Click()
        On Error Resume Next
        Set pMC = New FilgraphManager
        pMC.Stop
        'Set pVP = pMC
        'pVP.StopTime = 0
        pMC.RenderFile ""
        
        
        On Error GoTo Lhandle
        pMC.RenderFile "E:\offline.gif" '加载GIF动画,并在PictureBox中播放
        'Set pVP = pMC
        's = Str(pVP.Duration)
        
        On Error Resume Next
        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 ("加载文件错误!")
End Sub

'停止播放GIF动画
Private Sub Command2_Click()
        pMC.Stop
        Set pVW = Nothing
        Set pMC = Nothing
End Sub

Private Sub Form_Load()
        Me.ScaleMode = 3
        Picture1.ScaleMode = 3
End Sub
--------------------编程问答-------------------- chenjl1031 的方法不错

--------------------编程问答-------------------- 谢谢 东方之珠 quartz.dll 我倒是没用过, 刚试了一下, 是可以动, 但最大的一个问题是, 请问它能设背景透明吗 ?

我用了透明的 .gif 但还是无法透明, 如无法透明的话, 则quartz.dll 的利用价值就没啦...... --------------------编程问答-------------------- Mark.

Up....
--------------------编程问答--------------------
引用 21 楼 cbm666 的回复:
谢谢 东方之珠 quartz.dll 我倒是没用过, 刚试了一下, 是可以动, 但最大的一个问题是, 请问它能设背景透明吗 ? 

我用了透明的 .gif 但还是无法透明, 如无法透明的话, 则quartz.dll 的利用价值就没啦......


不能透明,只是一种方法而已!当然不如你上面做的那个! --------------------编程问答-------------------- 我有个OCX,免费不需要注册的,非常小

引用楼主 gaojupeng 的帖子:
在VB中哪个图片控件支持GIF格式的图片?试了下PICTUREBOX和IMAGE控件都不行,动画不动.
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,