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 + -
显示快捷键?