📄 form1.vb
字号:
Me.Label1.Location = New System.Drawing.Point(41, 102)
Me.Label1.Name = "Label1"
Me.Label1.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.Label1.Size = New System.Drawing.Size(22, 38)
Me.Label1.TabIndex = 10
Me.Label1.Text = "0"
'
'cmdExit
'
Me.cmdExit.BackColor = System.Drawing.SystemColors.Control
Me.cmdExit.Cursor = System.Windows.Forms.Cursors.Default
Me.cmdExit.Location = New System.Drawing.Point(655, 148)
Me.cmdExit.Name = "cmdExit"
Me.cmdExit.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.cmdExit.Size = New System.Drawing.Size(86, 46)
Me.cmdExit.TabIndex = 9
Me.cmdExit.Text = "退出"
'
'CommonDialog1
'
Me.CommonDialog1.Enabled = True
Me.CommonDialog1.Location = New System.Drawing.Point(410, 0)
Me.CommonDialog1.Name = "CommonDialog1"
Me.CommonDialog1.OcxState = CType(resources.GetObject("CommonDialog1.OcxState"), System.Windows.Forms.AxHost.State)
Me.CommonDialog1.Size = New System.Drawing.Size(32, 32)
Me.CommonDialog1.TabIndex = 10
'
'StatusBar1
'
Me.StatusBar1.Dock = System.Windows.Forms.DockStyle.Bottom
Me.StatusBar1.Location = New System.Drawing.Point(0, 222)
Me.StatusBar1.Name = "StatusBar1"
Me.StatusBar1.OcxState = CType(resources.GetObject("StatusBar1.OcxState"), System.Windows.Forms.AxHost.State)
Me.StatusBar1.Size = New System.Drawing.Size(756, 38)
Me.StatusBar1.TabIndex = 7
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.ClientSize = New System.Drawing.Size(756, 260)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Slider1, Me.cmdExit, Me.cmdNext, Me.StatusBar1, Me.cmdNextFrame, Me.cmdPreFrame, Me.cmdPre, Me.cmdPause, Me.cmdPlay, Me.cmdOpen, Me.CommonDialog1, Me.Label2, Me.Label3, Me.Label1})
Me.Location = New System.Drawing.Point(11, 58)
Me.Menu = Me.MainMenu1
Me.Name = "Form1"
Me.Text = "Flash动画播放器"
CType(Me.Slider1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.CommonDialog1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.StatusBar1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
#End Region
#Region "升级支持"
Private Shared m_vb6FormDefInstance As Form1
Private Shared m_InitializingDefInstance As Boolean
Public Shared Property DefInstance() As Form1
Get
If m_vb6FormDefInstance Is Nothing OrElse m_vb6FormDefInstance.IsDisposed Then
m_InitializingDefInstance = True
m_vb6FormDefInstance = New Form1()
m_InitializingDefInstance = False
End If
DefInstance = m_vb6FormDefInstance
End Get
Set
m_vb6FormDefInstance = Value
End Set
End Property
#End Region
Dim FileNames() As String '用于保存打开的文件名称。
Dim PlayFileNum As Short '用于计算正在播放的文件序号。
Dim TotalFile As Short '用于统计打开的文件总数。
Private Sub cmdExit_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdExit.Click
End
End Sub
Private Sub cmdNext_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdNext.Click
'Dim ″ As Object
If TotalFile <> 1 Then '用户打开多于一个文件时
PlayFileNum = PlayFileNum + 1
If PlayFileNum > TotalFile Then PlayFileNum = 1
'UPGRADE_WARNING: 未能解析对象 ″ 的默认属性。 单击以获得更多信息:ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
Form2.DefInstance.ShockwaveFlash1.Movie = CStr(CDbl(FileNames(0)) + " \" + CDbl(FileNames(PlayFileNum)))
End If
'显示播放状态的信息。
StatusBar1.Panels(3).Text = "正在播放文件:" & FileNames(PlayFileNum) & " ..."
Slider1.Max = Form2.DefInstance.ShockwaveFlash1.TotalFrames
Form2.DefInstance.Text = FileNames(PlayFileNum) & " - Flash动画播放器"
Label2.Text = Str(Slider1.Max / 2) & "帧"
Label3.Text = Str(Slider1.Max) & "帧"
End Sub
Private Sub cmdNextFrame_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdNextFrame.Click
Form2.DefInstance.ShockwaveFlash1.Forward()
End Sub
Private Sub cmdOpen_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdOpen.Click
'Dim ″个文件″ As Object
'Dim ″共打开了″ As Object
'Dim ″ As Object
On Error GoTo ExitOpen
CommonDialog1.Flags = MSComDlg.FileOpenConstants.cdlOFNAllowMultiselect Or MSComDlg.FileOpenConstants.cdlOFNFileMustExist Or MSComDlg.FileOpenConstants.cdlOFNExplorer
CommonDialog1.FileName = ""
CommonDialog1.ShowOpen() '显示“打开”对话框。
'以vbNullChar作为子字符串的边界分隔字符串CommonDialog1返回的FileName。
FileNames = Split(CommonDialog1.FileName, ControlChars.NullChar)
If UBound(FileNames) = 0 Then '用户只打开了一个文件。
Form2.DefInstance.ShockwaveFlash1.Movie = FileNames(0)
TotalFile = 1
PlayFileNum = 0
Else
'UPGRADE_WARNING: 未能解析对象 ″ 的默认属性。 单击以获得更多信息:ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
Form2.DefInstance.ShockwaveFlash1.Movie = CStr(CDbl(FileNames(0)) + "\ " + CDbl(FileNames(1)))
TotalFile = UBound(FileNames)
PlayFileNum = 1
End If
'UPGRADE_WARNING: 未能解析对象 ″个文件″ 的默认属性。 单击以获得更多信息:ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
'UPGRADE_WARNING: 未能解析对象 ″共打开了″ 的默认属性。 单击以获得更多信息:ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
StatusBar1.Panels(1).Text = "共打开了" + Trim(Str(TotalFile)) + "个文件"
cmdPlay_Click(cmdPlay, New System.EventArgs())
ExitOpen:
End Sub
Private Sub cmdPause_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdPause.Click
Form2.DefInstance.ShockwaveFlash1.Stop()
End Sub
Private Sub cmdPlay_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdPlay.Click
'Dim ″帧″ As Object
Dim 帧 As Object
If TotalFile < 1 Then Exit Sub '用户还没有打开文件。
'显示Form2开始播放动画。
Form2.DefInstance.Text = FileNames(PlayFileNum) & "- Flash动画播放器"
Form2.DefInstance.Show()
Form2.DefInstance.Activate()
Form2.DefInstance.ShockwaveFlash1.Playing = True
If TotalFile = 1 Then PlayFileNum = 0
'显示状态条的信息。
StatusBar1.Panels(3).Text = "正在播放文件:" & FileNames(PlayFileNum) & "..."
'显示滑动条的状态。
'Slider1.Max = Form2.ShockwaveFlash1.TotalFrames
Slider1.Max = Form2.DefInstance.ShockwaveFlash1.TotalFrames
'UPGRADE_WARNING: 未能解析对象 帧 的默认属性。 单击以获得更多信息:ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
Label2.Text = Str(Slider1.Max / 2) + 帧
'UPGRADE_WARNING: 未能解析对象 ″帧″ 的默认属性。 单击以获得更多信息:ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
Label3.Text = Str(Slider1.Max) + "帧"
End Sub
Private Sub cmdPre_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdPre.Click
'Dim ″帧″ As Object
'Dim ″ As Object
If TotalFile <> 1 Then '当用户打开多于一个文件时
PlayFileNum = PlayFileNum - 1
If PlayFileNum < 1 Then PlayFileNum = TotalFile
'UPGRADE_WARNING: 未能解析对象 ″ 的默认属性。 单击以获得更多信息:ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
Form2.DefInstance.ShockwaveFlash1.Movie = CStr(CDbl(FileNames(0)) + " \ " + CDbl(FileNames(PlayFileNum)))
End If
'显示播放状态的信息。
StatusBar1.Panels(3).Text = "正在播放文件:" & FileNames(PlayFileNum) & " ..."
Slider1.Max = Form2.DefInstance.ShockwaveFlash1.TotalFrames
Form2.DefInstance.Text = FileNames(PlayFileNum) & " - Flash动画播放器"
'UPGRADE_WARNING: 未能解析对象 ″帧″ 的默认属性。 单击以获得更多信息:ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
Label2.Text = Str(Slider1.Max / 2) + "帧"
'UPGRADE_WARNING: 未能解析对象 ″帧″ 的默认属性。 单击以获得更多信息:ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
Label3.Text = Str(Slider1.Max) + "帧"
End Sub
Private Sub cmdPreFrame_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdPreFrame.Click
Form2.DefInstance.ShockwaveFlash1.Back()
End Sub
'UPGRADE_WARNING: Form 事件 Form1.Unload 具有新的行为。 单击以获得更多信息:ms-help://MS.MSDNVS/vbcon/html/vbup2065.htm
Private Sub Form1_Closed(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Closed
End '结束程序
End Sub
Public Sub mnuDisplay0_Popup(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuDisplay0.Popup
mnuDisplay0_Click(eventSender, eventArgs)
End Sub
Public Sub mnuDisplay0_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuDisplay0.Click
'将画面大小设置为在控件内保持动画原来比例全部显示
'UPGRADE_ISSUE: 不支持窗体属性 .ScaleMode。 单击以获得更多信息:ms-help://MS.MSDNVS/vbcon/html/vbup2038.htm
Form2.DefInstance.ShockwaveFlash1.ScaleMode = 0
mnuDisplay0.Checked = True
mnuDisplay1.Checked = False
mnuDisplay2.Checked = False
End Sub
Public Sub mnuDisplay1_Popup(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuDisplay1.Popup
mnuDisplay1_Click(eventSender, eventArgs)
End Sub
Public Sub mnuDisplay1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuDisplay1.Click
'将画面的缩放设置为随控件横向(或纵向)的缩放而变化
'UPGRADE_ISSUE: 不支持窗体属性 .ScaleMode。 单击以获得更多信息:ms-help://MS.MSDNVS/vbcon/html/vbup2038.htm
Form2.DefInstance.ShockwaveFlash1.ScaleMode = 1
mnuDisplay0.Checked = False
mnuDisplay1.Checked = True
mnuDisplay2.Checked = False
End Sub
Public Sub mnuDisplay2_Popup(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuDisplay2.Popup
mnuDisplay2_Click(eventSender, eventArgs)
End Sub
Public Sub mnuDisplay2_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuDisplay2.Click
'将画面大小设置为不理会动画原来比例缩放至控件大小
'UPGRADE_ISSUE: 不支持窗体属性 .ScaleMode。 单击以获得更多信息:ms-help://MS.MSDNVS/vbcon/html/vbup2038.htm
Form2.DefInstance.ShockwaveFlash1.ScaleMode = 2
mnuDisplay0.Checked = False
mnuDisplay1.Checked = False
mnuDisplay2.Checked = True
End Sub
Public Sub mnuLoopPlay_Popup(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuLoopPlay.Popup
mnuLoopPlay_Click(eventSender, eventArgs)
End Sub
Public Sub mnuLoopPlay_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuLoopPlay.Click
'将播放方式设置为循环或不循环。
mnuLoopPlay.Checked = Not mnuLoopPlay.Checked
Form2.DefInstance.ShockwaveFlash1.Loop = Not Form2.DefInstance.ShockwaveFlash1.Loop
End Sub
Public Sub mnuQuality0_Popup(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuQuality0.Popup
mnuQuality0_Click(eventSender, eventArgs)
End Sub
Public Sub mnuQuality0_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuQuality0.Click
'将画面质量设置为低分辨率
Form2.DefInstance.ShockwaveFlash1.Quality = 0
mnuQuality0.Checked = True
mnuQuality1.Checked = False
End Sub
Public Sub mnuQuality1_Popup(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuQuality1.Popup
mnuQuality1_Click(eventSender, eventArgs)
End Sub
Public Sub mnuQuality1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuQuality1.Click
'将画面质量设置为高分辨率
Form2.DefInstance.ShockwaveFlash1.Quality = 1
mnuQuality0.Checked = False
mnuQuality1.Checked = True
End Sub
Public Sub mnuZoomIn_Popup(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuZoomIn.Popup
mnuZoomIn_Click(eventSender, eventArgs)
End Sub
Public Sub mnuZoomIn_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuZoomIn.Click
'放大画面。
Form2.DefInstance.ShockwaveFlash1.Zoom((50))
End Sub
Public Sub mnuZoomOut_Popup(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuZoomOut.Popup
mnuZoomOut_Click(eventSender, eventArgs)
End Sub
Public Sub mnuZoomOut_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuZoomOut.Click
'缩小画面。
Form2.DefInstance.ShockwaveFlash1.Zoom((200))
End Sub
Private Sub Slider1_Scroll(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Slider1.Scroll
'当用户拖动滑动条时,将播放帧数设置为滑动条中的值。
Form2.DefInstance.ShockwaveFlash1.FrameNum = Slider1.Value
End Sub
Private Sub StatusBar1_PanelClick(ByVal sender As System.Object, ByVal e As AxMSComctlLib.IStatusBarEvents_PanelClickEvent) Handles StatusBar1.PanelClick
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -