在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
--------------------编程问答--------------------
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的大小--------------------编程问答-------------------- chenjl1031 的方法不错
'在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
--------------------编程问答-------------------- 谢谢 东方之珠 quartz.dll 我倒是没用过, 刚试了一下, 是可以动, 但最大的一个问题是, 请问它能设背景透明吗 ?
我用了透明的 .gif 但还是无法透明, 如无法透明的话, 则quartz.dll 的利用价值就没啦...... --------------------编程问答-------------------- Mark.
Up....
--------------------编程问答--------------------
不能透明,只是一种方法而已!当然不如你上面做的那个! --------------------编程问答-------------------- 我有个OCX,免费不需要注册的,非常小
补充:VB , 基础类