2、程序代码
第一步:在Form1的代码窗口中添加以下代码:
DimFileNames()AsString注释:用于保存打开的文件名称。
DimPlayFileNumAsInteger注释:用于计算正在播放的文件序号。
DimTotalFileAsInteger注释:用于统计打开的文件总数。
PrivateSubcmdOpen_Click()注释:打开
OnErrorGoToExitOpen
CommonDialog1.Flags=cdlOFNAllowMultiselectOrcdlOFNFileMustExistOrcdlOFNExplorer
CommonDialog1.FileName=〃"
CommonDialog1.ShowOpen注释:显示“打开”对话框。
注释:以vbNullChar作为子字符串的边界分隔字符串CommonDialog1返回的FileName。
FileNames()=Split(CommonDialog1.FileName,vbNullChar)
IfUBound(FileNames)=0Then注释:用户只打开了一个文件。
Form2!ShockwaveFlash1.Movie=FileNames(0)
TotalFile=1
PlayFileNum=0
Else注释:用户打开了多于一个文件。
Form2!ShockwaveFlash1.Movie=FileNames(0)+〃\〃+FileNames(1)
TotalFile=UBound(FileNames)
PlayFileNum=1
EndIf
StatusBar1.Panels(1).Text=〃共打开了〃+Trim(Str(TotalFile))+〃个文件〃
cmdPlay_Click
ExitOpen:
EndSub
PrivateSubcmdPlay_Click()注释:开始播放
IfTotalFile<1ThenExitSub注释:用户还没有打开文件。
注释:显示Form2开始播放动画。
Form2.Caption=FileNames(PlayFileNum)+〃-Flash动画播放器〃
Form2.Show
Form2!ShockwaveFlash1.Playing=True
IfTotalFile=1ThenPlayFileNum=0
注释:显示状态条的信息。
StatusBar1.Panels(3).Text=〃正在播放文件:〃+FileNames(PlayFileNum)+〃...〃
注释:显示滑动条的状态。
Slider1.Max=Form2!ShockwaveFlash1.TotalFrames
Label2.Caption=Str(Slider1.Max/2)+〃帧〃
Label3.Caption=Str(Slider1.Max)+〃帧〃
EndSub
PrivateSubcmdPause_Click()注释:暂停播放
Form2!ShockwaveFlash1.Stop
EndSub
PrivateSubcmdPre_Click()注释:播放上一个文件
IfTotalFile<>1Then注释:当用户打开多于一个文件时
PlayFileNum=PlayFileNum-1
IfPlayFileNum<1ThenPlayFileNum=TotalFile
Form2!ShockwaveFlash1.Movie=FileNames(0)+〃\〃+FileNames(PlayFileNum)
EndIf
注释:显示播放状态的信息。
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)+〃帧〃
EndSub
PrivateSubcmdNext_Click()注释:播放下一个文件
IfTotalFile<>1Then注释:用户打开多于一个文件时
PlayFileNum=PlayFileNum+1
IfPlayFileNum>TotalFileThenPlayFileNum=1
Form2!ShockwaveFlash1.Movie=FileNames(0)+〃\〃+FileNames(PlayFileNum)
EndIf
注释:显示播放状态的信息。
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)+〃帧〃
EndSub
PrivateSubcmdPreFrame_Click()注释:跳到动画的上一帧
Form2!ShockwaveFlash1.Back
EndSub
PrivateSubcmdNextFrame_Click()注释:跳到动画的下一帧
Form2!ShockwaveFlash1.Forward
EndSub
PrivateSubcmdExit_Click()注释:退出程序
End
EndSub
PrivateSubSlider1_Scroll()
注释:当用户拖动滑动条时,将播放帧数设置为滑动条中的值。
Form2!ShockwaveFlash1.FrameNum=Slider1.Value
EndSub
PrivateSubmnuDisplay0_Click()
注释:将画面大小设置为在控件内保持动画原来比例全部显示
Form2!ShockwaveFlash1.ScaleMode=0
mnuDisplay0.Checked=True
mnuDisplay1.Checked=False
mnuDisplay2.Checked=False
EndSub
PrivateSubmnuDisplay1_Click()
注释:将画面的缩放设置为随控件横向(或纵向)的缩放而变化
Form2!ShockwaveFlash1.ScaleMode=1
mnuDisplay0.Checked=False
mnuDisplay1.Checked=True
mnuDisplay2.Checked=False
EndSub
PrivateSubmnuDisplay2_Click()
注释:将画面大小设置为不理会动画原来比例缩放至控件大小
Form2!ShockwaveFlash1.ScaleMode=2
mnuDisplay0.Checked=False
mnuDisplay1.Checked=False
mnuDisplay2.Checked=True
EndSub
PrivateSubmnuLoopPlay_Click()
注释:将播放方式设置为循环或不循环。
mnuLoopPlay.Checked=NotmnuLoopPlay.Checked
Form2!ShockwaveFlash1.Loop=NotForm2!ShockwaveFlash1.Loop
EndSub
PrivateSubmnuQuality0_Click()
注释:将画面质量设置为低分辨率
Form2!ShockwaveFlash1.Quality=0
mnuQuality0.Checked=True
mnuQuality1.Checked=False
EndSub
PrivateSubmnuQuality1_Click()
注释:将画面质量设置为高分辨率
Form2!ShockwaveFlash1.Quality=1
mnuQuality0.Checked=False
mnuQuality1.Checked=True
EndSub
PrivateSubmnuZoomIn_Click()
注释:放大画面。
Form2!ShockwaveFlash1.Zoom(50)
EndSub
PrivateSubmnuZoomOut_Click()
注释:缩小画面。
Form2!ShockwaveFlash1.Zoom(200)
EndSub
PrivateSubForm_Unload(CancelAsInteger)
End注释:结束程序
EndSub