zoukankan      html  css  js  c++  java
  • 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

    三、最麻烦的方法

    用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
  • 相关阅读:
    Mysql添加用户与授权
    php导出数据到csv
    mysql导入数据和导出数据
    null在mysql中的不同表现
    乌班图安装Lnmp环境
    php框架路由美化后提示No input file specified
    cookie删除失效问题
    MongoDb安装
    MongoDb简介
    位置索引介绍
  • 原文地址:https://www.cnblogs.com/ainima/p/6331088.html
Copyright © 2011-2022 走看看