首页 >饮食

用VB编写FLASH动画播放器

2019-12-03 19:42:00 | 来源: 饮食

2、程序代码

第一步:在Form1的代码窗口中添加以下代码:

Dim FileNames() As String 用于保存打开的文件名称。

Dim PlayFileNum As Integer 用于计算正在播放的文件序号。

Dim TotalFile As Integer 用于统计打开的文件总数。

Private Sub cmdOpen_Click() 打开

On Error GoTo ExitOpen

CommonDialog1.Flags = cdlOFNAllowMultiselect Or cdlOFNFileMustExist Or cdlOFNExplorer

CommonDialog1.FileName = ″"

CommonDialog1.ShowOpen 显示“打开”对话框。

以vbNullChar作为子字符串的边界分隔字符串CommonDialog1返回的FileName。

FileNames() = Split(CommonDialog1.FileName, vbNullChar)

If UBound(FileNames) = 0 Then 用户只打开了一个文件。

Form2!ShockwaveFlash1.Movie = FileNames(0)

TotalFile = 1

PlayFileNum = 0

Else 用户打开了多于一个文件。

Form2!ShockwaveFlash1.Movie = FileNames(0) + ″\″ + FileNames(1)

TotalFile = UBound(FileNames)

PlayFileNum = 1

End If

StatusBar1.Panels(1).Text = ″共打开了″ + Trim(Str(TotalFile)) + ″个文件″

cmdPlay_Click

ExitOpen:

End Sub

Private Sub cmdPlay_Click() 开始播放

If TotalFile < 1 Then Exit Sub 用户还没有打开文件。

显示Form2开始播放动画。

Form2.Caption = FileNames(PlayFileNum) + ″ - Flash动画播放器″

Form2.Show

Form2!ShockwaveFlash1.Playing = True

If TotalFile = 1 Then PlayFileNum = 0

显示状态条的信息。

StatusBar1.Panels(3).Text = ″正在播放文件:″ + FileNames(PlayFileNum) + ″ ...″

显示滑动条的状态。

Slider1.Max = Form2!ShockwaveFlash1.TotalFrames

Label2.Caption = Str(Slider1.Max / 2) + ″帧″

Label3.Caption = Str(Slider1.Max) + ″帧″

End Sub

Private Sub cmdPause_Click() 暂停播放

Form2!ShockwaveFlash1.Stop

End Sub

Private Sub cmdPre_Click() 播放上一个文件

If TotalFile <> 1 Then 当用户打开多于一个文件时

PlayFileNum = PlayFileNum - 1

If PlayFileNum < 1 Then PlayFileNum = TotalFile

Form2!ShockwaveFlash1.Movie = FileNames(0) + ″\″ + FileNames(PlayFileNum)

End If

显示播放状态的信息。

StatusBar1.Panels(3).Text = ″正在播放文件:″ + FileNames(PlayFileNum) + ″ ...″

Slider1.Max = Form2!ShockwaveFlash1.TotalFrames

Form2.Caption = FileNames(PlayFileNum) + ″ - Flash动画播放器″

Label2.Caption = Str(Slider1.Max / 2) + ″帧″

Label3.Caption = Str(Slider1.Max) + ″帧″

End Sub

Private Sub cmdNext_Click() 播放下一个文件

If TotalFile <> 1 Then 用户打开多于一个文件时

PlayFileNum = PlayFileNum + 1

If PlayFileNum>TotalFile Then PlayFileNum = 1

Form2!ShockwaveFlash1.Movie = FileNames(0) + ″\″ + FileNames(PlayFileNum)

End If

显示播放状态的信息。

StatusBar1.Panels(3).Text = ″正在播放文件:″ + FileNames(PlayFileNum) + ″ ...″

Slider1.Max = Form2!ShockwaveFlash1.TotalFrames

Form2.Caption = FileNames(PlayFileNum) + ″ - Flash动画播放器″

Label2.Caption = Str(Slider1.Max / 2) + ″帧″

Label3.Caption = Str(Slider1.Max) + ″帧″

End Sub

Private Sub cmdPreFrame_Click() 跳到动画的上一帧

Form2!ShockwaveFlash1.Back

End Sub

Private Sub cmdNextFrame_Click() 跳到动画的下一帧

Form2!ShockwaveFlash1.Forward

End Sub

Private Sub cmdExit_Click() 退出程序

End

End Sub

Private Sub Slider1_Scroll()

当用户拖动滑动条时,将播放帧数设置为滑动条中的值。

Form2!ShockwaveFlash1.FrameNum = Slider1.Value

End Sub

Private Sub mnuDisplay0_Click()

将画面大小设置为在控件内保持动画原来比例全部显示

Form2!ShockwaveFlash1.ScaleMode = 0

mnuDisplay0.Checked = True

mnuDisplay1.Checked = False

mnuDisplay2.Checked = False

End Sub

Private Sub mnuDisplay1_Click()

将画面的缩放设置为随控件横向(或纵向)的缩放而变化

Form2!ShockwaveFlash1.ScaleMode = 1

mnuDisplay0.Checked = False

mnuDisplay1.Checked = True

mnuDisplay2.Checked = False

End Sub

Private Sub mnuDisplay2_Click()

将画面大小设置为不理会动画原来比例缩放至控件大小

Form2!ShockwaveFlash1.ScaleMode = 2

mnuDisplay0.Checked = False

mnuDisplay1.Checked = False

mnuDisplay2.Checked = True

End Sub

Private Sub mnuLoopPlay_Click()

将播放方式设置为循环或不循环。

mnuLoopPlay.Checked = Not mnuLoopPlay.Checked

Form2!ShockwaveFlash1.Loop = Not Form2!ShockwaveFlash1.Loop

End Sub

Private Sub mnuQuality0_Click()

将画面质量设置为低分辨率

Form2!ShockwaveFlash1.Quality = 0

mnuQuality0.Checked = True

mnuQuality1.Checked = False

End Sub

Private Sub mnuQuality1_Click()

将画面质量设置为高分辨率

Form2!ShockwaveFlash1.Quality = 1

mnuQuality0.Checked = False

mnuQuality1.Checked = True

End Sub

Private Sub mnuZoomIn_Click()

放大画面。

Form2!ShockwaveFlash1.Zoom (50)

End Sub

Private Sub mnuZoomOut_Click()

缩小画面。

Form2!ShockwaveFlash1.Zoom (200)

End Sub

Private Sub Form_Unload(Cancel As Integer)

End 结束程序

End Sub   第二步:在Form2的代码窗口中添加以下代码:

Private Sub Form_Resize()

将ShockwaveFlash1控件的大小设置为Form2的大小。

ShockwaveFlash1.Top = Form2.ScaleTop

ShockwaveFlash1.Left = Form2.ScaleLeft

ShockwaveFlash1.Width = Form2.ScaleWidth

ShockwaveFlash1.Height = Form2.ScaleHeight

End Sub

Private Sub Timer1_Timer()

在状态栏和滑动条上显示当前播放的帧。

Form1!StatusBar1.Panels(5).Text = Str(ShockwaveFlash1.FrameNum)

Form1!Slider1.Value = ShockwaveFlash1.FrameNum

End Sub   第三步:调试、运行程序,运行界面如图2所示。

当播放Flash动画时,在播放窗口中单击鼠标右键时,将会弹出如图3所示的菜单。在该菜单,我们可以完成控制Flash动画播放的大部份工作。若想取消该功能,只要将Shockwave flash控件的Menu属性设置为False即可。

以上程序在Windows98,VB6.0下运行通过。

查看本文来源

选什么儿童止咳药用药安全
专为儿童研制的止咳药有哪些
怎么治疗心悸心律失常
小孩子脾胃虚弱吃什么药

猜你喜欢