flash.frm
来自「vb精彩编程希望大家有用」· FRM 代码 · 共 330 行
FRM
330 行
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "comdlg32.ocx"
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 2940
ClientLeft = 165
ClientTop = 735
ClientWidth = 7125
LinkTopic = "Form1"
ScaleHeight = 2940
ScaleWidth = 7125
StartUpPosition = 3 '窗口缺省
Begin MSComctlLib.StatusBar StatusBar1
Align = 2 'Align Bottom
Height = 375
Left = 0
TabIndex = 12
Top = 2565
Width = 7125
_ExtentX = 12568
_ExtentY = 661
_Version = 393216
BeginProperty Panels {8E3867A5-8586-11D1-B16A-00C0F0283628}
NumPanels = 5
BeginProperty Panel1 {8E3867AB-8586-11D1-B16A-00C0F0283628}
Text = "共打开了0个文件"
TextSave = "共打开了0个文件"
EndProperty
BeginProperty Panel2 {8E3867AB-8586-11D1-B16A-00C0F0283628}
Text = "状态:"
TextSave = "状态:"
EndProperty
BeginProperty Panel3 {8E3867AB-8586-11D1-B16A-00C0F0283628}
Text = "等待"
TextSave = "等待"
EndProperty
BeginProperty Panel4 {8E3867AB-8586-11D1-B16A-00C0F0283628}
Text = "帧数:"
TextSave = "帧数:"
EndProperty
BeginProperty Panel5 {8E3867AB-8586-11D1-B16A-00C0F0283628}
Text = "0"
TextSave = "0"
EndProperty
EndProperty
End
Begin VB.CommandButton cmdExit
Caption = "退出"
Height = 495
Left = 5760
TabIndex = 11
Top = 1680
Width = 735
End
Begin VB.CommandButton cmdNext
Caption = "下一个"
Height = 495
Left = 5040
TabIndex = 10
Top = 1680
Width = 735
End
Begin VB.CommandButton cmdNextFrame
Caption = "下一帧"
Height = 495
Left = 4200
TabIndex = 9
Top = 1680
Width = 855
End
Begin VB.CommandButton cmdPreFrame
Caption = "上一帧"
Height = 495
Left = 3480
TabIndex = 8
Top = 1680
Width = 735
End
Begin VB.CommandButton cmdPre
Caption = "上一个"
Height = 495
Left = 2760
TabIndex = 7
Top = 1680
Width = 735
End
Begin VB.CommandButton cmdPause
Caption = "暂停"
Height = 495
Left = 2040
TabIndex = 6
Top = 1680
Width = 735
End
Begin VB.CommandButton cmdPlay
Caption = "播放"
Height = 495
Left = 1320
TabIndex = 5
Top = 1680
Width = 735
End
Begin VB.CommandButton cmdOpen
Caption = "打开"
Height = 495
Left = 600
TabIndex = 4
Top = 1680
Width = 735
End
Begin MSComctlLib.Slider Slider1
Height = 615
Left = 240
TabIndex = 0
Top = 840
Width = 6615
_ExtentX = 11668
_ExtentY = 1085
_Version = 393216
LargeChange = 10
SmallChange = 10
SelectRange = -1 'True
TickFrequency = 20
TextPosition = 1
End
Begin MSComDlg.CommonDialog CommonDialog1
Left = 6480
Top = 0
_ExtentX = 847
_ExtentY = 847
_Version = 393216
CancelError = -1 'True
DialogTitle = "打开Flash动画文件"
Filter = "Flash动画(*.swf)|*.swf"
FilterIndex = 1
MaxFileSize = 10240
End
Begin VB.Label Label3
Alignment = 1 'Right Justify
Height = 180
Left = 5400
TabIndex = 3
Top = 480
Width = 1215
End
Begin VB.Label Label2
Alignment = 2 'Center
Height = 180
Left = 2880
TabIndex = 2
Top = 480
Width = 1455
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "0帧"
Height = 180
Left = 240
TabIndex = 1
Top = 480
Width = 270
End
Begin VB.Menu mnuDisplay
Caption = "显示控制"
Begin VB.Menu mnuDisplay0
Caption = "全部显示"
End
Begin VB.Menu mnuDisplay1
Caption = "随窗口大小变化"
End
Begin VB.Menu mnuDisplay2
Caption = "缩放至窗口大小"
End
End
Begin VB.Menu mnuQuality
Caption = "质量控制"
Begin VB.Menu mnuQuality0
Caption = "低分辨率"
End
Begin VB.Menu mnuQuality1
Caption = "高分辨率"
End
End
Begin VB.Menu mnuPlayControl
Caption = "播放控制"
Begin VB.Menu mnuLoopPlay
Caption = "循环播放"
End
Begin VB.Menu mnuZoomIn
Caption = "放大画面"
End
Begin VB.Menu mnuZoomOut
Caption = "缩小画面"
End
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
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 '显示“打开”对话框。
FileNames() = Split(CommonDialog1.FileName, vbNullChar) '以vbNullChar作为子字符串的边界分隔字符串CommonDialog1返回的FileName
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.Caption = FileNames(PlayFileNum) + "- Flash动画播放器" '显示Form2开始播放动画
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 mnuZoomIn_Click()
Form2!ShockwaveFlash1.Zoom (50) '放大画面
End Sub
Private Sub mnuZoomOut_Click()
Form2!ShockwaveFlash1.Zoom (200) '缩小画面
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
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?