扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:佚名 来源:yesky 2007年10月15日
关键字:
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下运行通过。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者