国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
用VB編寫FLASH動(dòng)畫播放器
Flash4是MacroMedia公司出品的矢量動(dòng)畫創(chuàng)作專業(yè)軟件,利用該軟件制作的矢量動(dòng)畫具有文件體積小、帶音效和兼容性好等特點(diǎn)。那么,你想不想在自己編寫的程序中加入Flash動(dòng)畫,為自己的程序添加一道亮麗的色彩呢?

  一、編程原理

  本程序利用了Flash4本身自帶播放Flash動(dòng)畫的控件Swflash.ocx。你可以通過(guò)以下途徑獲得該控件:1、安裝Flash4;2、安裝Windows98自帶的Flash插件,方法:依次單擊“開(kāi)始”菜單-“設(shè)置”-“控制面板”-“添加/刪除程序”-“Windows 安裝程序”-“多媒體”-“詳細(xì)資料”-選中“Macromedia Shockwave Flash”前的復(fù)選框確定即可。以上方法都會(huì)將該控件安裝到Windows目錄下的SystemMacromedFlash子目錄下。

  二、示例程序

  下面就是一個(gè)用Swflash.ocx控件編寫的Flash動(dòng)畫播放器。本程序可一次打開(kāi)多個(gè)Flash動(dòng)畫文件,并可在播放過(guò)程中選擇播放打開(kāi)的文件、隨時(shí)改變播放質(zhì)量、畫面大小等狀態(tài);在播放過(guò)程中可以隨時(shí)對(duì)播放的當(dāng)前幀數(shù)進(jìn)行調(diào)整或者手動(dòng)進(jìn)行逐幀播放,在狀態(tài)欄里有當(dāng)前播放狀態(tài)的相關(guān)說(shuō)明。在實(shí)現(xiàn)以上功能時(shí),幾乎用全了Swflash.ocx控件的主要屬性、方法。

  編程過(guò)程如下:

  1、窗體、界面設(shè)計(jì)。

  新建工程,選擇“工程”菜單下的“部件”命令,在“部件”窗口的“控件”列表中將“Shockwave flash”、“Microsoft Common Dialog Control 6.0 (SP3)”、“Microsoft Windows Common Control 6.0 (SP3)”前的復(fù)選框選中,然后確定。再在窗體中分別加入1個(gè)CommonDialog控件、1個(gè)Slider控件、3個(gè)Label控件、6個(gè)CommandButton控件和1個(gè)Status Bar控件。其中:

  將Form1的“Caption”屬性設(shè)置為:Flash動(dòng)畫播放器。這是控制窗口。

  將CommonDialog1的CancelError設(shè)置為True,DialogTitle設(shè)置為“打開(kāi)Flash動(dòng)畫文件”,F(xiàn)ilter屬性設(shè)置為“Flash動(dòng)畫(*.swf)|*.swf|”,F(xiàn)ilterIndex設(shè)置為1,MaxFileSize設(shè)置為10240。

  將Slider1的SelectRanger的屬性設(shè)置為“True”,SmallChange屬性和LargeChange屬性設(shè)置為10,TickFrequengcy屬性設(shè)置為20,TextPosition設(shè)置為“1 - SldBelowRight”。

  將Label(1-3)分別放在Slider1下的左端、中間和右端。其中,Label1的Caption設(shè)置為“0幀”,Label2和Label3的Caption設(shè)置為空字符串。

  6個(gè)CommandButton的“名稱”屬性分別為:cmdOpen、cmdPlay、cmdPause、cmdPre、cmdPreFrame、cmdNextFrame、cmdNext、cmdExit,“Caption”屬性分別為:打開(kāi)、播放、暫停、上一個(gè)、上一幀、下一幀、下一個(gè)、退出。

  在Status Bar上單擊鼠標(biāo)右鍵,選擇“屬性”,從彈出的窗口中選擇“窗格”頁(yè)面,用鼠標(biāo)點(diǎn)擊“插入窗格”5次,在索引1-5中分別設(shè)置“文本”屬性為:“共打開(kāi)了0個(gè)文件”、“狀態(tài):”、“等待”、“幀數(shù):”、“0”,再適當(dāng)設(shè)置每一項(xiàng)的“最小寬度”的屬性(可參考圖1中的比例)。

    進(jìn)入菜單編輯器(按快捷鍵Ctrl+E)。設(shè)置第一個(gè)菜單標(biāo)題為“顯示控制”,名稱為:mnuDisplay;在“顯示控制”下設(shè)立子菜單標(biāo)題分別為“全部顯示”、“隨窗口大小變化”、“縮放至窗口大小”,名稱分別為:mnuDisplay0、mnuDisplay1、mnuDisplay2。設(shè)置第二個(gè)菜單標(biāo)題為“質(zhì)量控制”,名稱為:mnuQuality;在“質(zhì)量控制”下設(shè)立子菜單標(biāo)題分別為“低分辨率”、“高分辨率”,名稱分別為:mnuQuality0、mnuQuality1。設(shè)置第三個(gè)菜單標(biāo)題為“播放控制”,名稱為:mnuPlayControl;在“播放控制”下設(shè)立子菜單標(biāo)題分別為“循環(huán)播放”、“放大畫面”、“縮小畫面”,名稱分別為:mnuLoopPlay、mnuZoomIn、mnuZoomOut。

  選擇“工程”菜單下的“添加窗體”命令,新增一個(gè)窗體Form2作為播放窗口。在Form2上加入1個(gè)ShockwaveFlash控件和1個(gè)Timer控件。將Timer1控件的“Interval”屬性設(shè)置為“20”。

  最后,對(duì)各窗體、控件的大小、位置進(jìn)行適當(dāng)?shù)恼{(diào)整,其大小、位置可參考圖1。

  2、程序代碼

  第一步:在Form1的代碼窗口中添加以下代碼:

  Dim FileNames() As String 注釋:用于保存打開(kāi)的文件名稱。

  Dim PlayFileNum As Integer 注釋:用于計(jì)算正在播放的文件序號(hào)。

  Dim TotalFile As Integer 注釋:用于統(tǒng)計(jì)打開(kāi)的文件總數(shù)。

  Private Sub cmdOpen_Click() 注釋:打開(kāi)

  On Error GoTo ExitOpen

  CommonDialog1.Flags = cdlOFNAllowMultiselect Or cdlOFNFileMustExist Or cdlOFNExplorer

  CommonDialog1.FileName = ″"

  CommonDialog1.ShowOpen 注釋:顯示“打開(kāi)”對(duì)話框。

   注釋:以vbNullChar作為子字符串的邊界分隔字符串CommonDialog1返回的FileName。

  FileNames() = Split(CommonDialog1.FileName, vbNullChar)

  If UBound(FileNames) = 0 Then 注釋:用戶只打開(kāi)了一個(gè)文件。

  Form2!ShockwaveFlash1.Movie = FileNames(0)

  TotalFile = 1

  PlayFileNum = 0

  Else 注釋:用戶打開(kāi)了多于一個(gè)文件。

  Form2!ShockwaveFlash1.Movie = FileNames(0) + ″″ + FileNames(1)

  TotalFile = UBound(FileNames)

  PlayFileNum = 1

  End If

  StatusBar1.Panels(1).Text = ″共打開(kāi)了″ + Trim(Str(TotalFile)) + ″個(gè)文件″

  cmdPlay_Click

  ExitOpen:

  End Sub

  Private Sub cmdPlay_Click() 注釋:開(kāi)始播放

  If TotalFile < 1 Then Exit Sub 注釋:用戶還沒(méi)有打開(kāi)文件。

  注釋:顯示Form2開(kāi)始播放動(dòng)畫。

  Form2.Caption = FileNames(PlayFileNum) + ″ - Flash動(dòng)畫播放器″

  Form2.Show

  Form2!ShockwaveFlash1.Playing = True

  If TotalFile = 1 Then PlayFileNum = 0

  注釋:顯示狀態(tài)條的信息。

  StatusBar1.Panels(3).Text = ″正在播放文件:″ + FileNames(PlayFileNum) + ″ ...″

  注釋:顯示滑動(dòng)條的狀態(tài)。

  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() 注釋:播放上一個(gè)文件

  If TotalFile <> 1 Then 注釋:當(dāng)用戶打開(kāi)多于一個(gè)文件時(shí)

  PlayFileNum = PlayFileNum - 1

  If PlayFileNum < 1 Then PlayFileNum = TotalFile

  Form2!ShockwaveFlash1.Movie = FileNames(0) + ″″ + FileNames(PlayFileNum)

  End If

  注釋:顯示播放狀態(tài)的信息。

  StatusBar1.Panels(3).Text = ″正在播放文件:″ + FileNames(PlayFileNum) + ″ ...″

  Slider1.Max = Form2!ShockwaveFlash1.TotalFrames

  Form2.Caption = FileNames(PlayFileNum) + ″ - Flash動(dòng)畫播放器″

  Label2.Caption = Str(Slider1.Max / 2) + ″幀″

  Label3.Caption = Str(Slider1.Max) + ″幀″

  End Sub

  Private Sub cmdNext_Click() 注釋:播放下一個(gè)文件

  If TotalFile <> 1 Then 注釋:用戶打開(kāi)多于一個(gè)文件時(shí)

  PlayFileNum = PlayFileNum + 1

  If PlayFileNum>TotalFile Then PlayFileNum = 1

  Form2!ShockwaveFlash1.Movie = FileNames(0) + ″″ + FileNames(PlayFileNum)

  End If

  注釋:顯示播放狀態(tài)的信息。

  StatusBar1.Panels(3).Text = ″正在播放文件:″ + FileNames(PlayFileNum) + ″ ...″

  Slider1.Max = Form2!ShockwaveFlash1.TotalFrames

  Form2.Caption = FileNames(PlayFileNum) + ″ - Flash動(dòng)畫播放器″

  Label2.Caption = Str(Slider1.Max / 2) + ″幀″

  Label3.Caption = Str(Slider1.Max) + ″幀″

  End Sub

  Private Sub cmdPreFrame_Click() 注釋:跳到動(dòng)畫的上一幀

  Form2!ShockwaveFlash1.Back

  End Sub

  Private Sub cmdNextFrame_Click() 注釋:跳到動(dòng)畫的下一幀

  Form2!ShockwaveFlash1.Forward

  End Sub

  Private Sub cmdExit_Click() 注釋:退出程序

  End

  End Sub

  Private Sub Slider1_Scroll()

  注釋:當(dāng)用戶拖動(dòng)滑動(dòng)條時(shí),將播放幀數(shù)設(shè)置為滑動(dòng)條中的值。

  Form2!ShockwaveFlash1.FrameNum = Slider1.Value

  End Sub

  Private Sub mnuDisplay0_Click()

  注釋:將畫面大小設(shè)置為在控件內(nèi)保持動(dòng)畫原來(lái)比例全部顯示

  Form2!ShockwaveFlash1.ScaleMode = 0

  mnuDisplay0.Checked = True

  mnuDisplay1.Checked = False

  mnuDisplay2.Checked = False

  End Sub

  Private Sub mnuDisplay1_Click()

  注釋:將畫面的縮放設(shè)置為隨控件橫向(或縱向)的縮放而變化

  Form2!ShockwaveFlash1.ScaleMode = 1

  mnuDisplay0.Checked = False

  mnuDisplay1.Checked = True

  mnuDisplay2.Checked = False

  End Sub

  Private Sub mnuDisplay2_Click()

  注釋:將畫面大小設(shè)置為不理會(huì)動(dòng)畫原來(lái)比例縮放至控件大小

  Form2!ShockwaveFlash1.ScaleMode = 2

  mnuDisplay0.Checked = False

  mnuDisplay1.Checked = False

  mnuDisplay2.Checked = True

  End Sub

  Private Sub mnuLoopPlay_Click()

  注釋:將播放方式設(shè)置為循環(huán)或不循環(huán)。

  mnuLoopPlay.Checked = Not mnuLoopPlay.Checked

  Form2!ShockwaveFlash1.Loop = Not Form2!ShockwaveFlash1.Loop

  End Sub

  Private Sub mnuQuality0_Click()

  注釋:將畫面質(zhì)量設(shè)置為低分辨率

  Form2!ShockwaveFlash1.Quality = 0

  mnuQuality0.Checked = True

  mnuQuality1.Checked = False

  End Sub

  Private Sub mnuQuality1_Click()

  注釋:將畫面質(zhì)量設(shè)置為高分辨率

  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 注釋:結(jié)束程序

  End Sub

  第二步:在Form2的代碼窗口中添加以下代碼:

  Private Sub Form_Resize()

  注釋:將ShockwaveFlash1控件的大小設(shè)置為Form2的大小。

  ShockwaveFlash1.Top = Form2.ScaleTop

  ShockwaveFlash1.Left = Form2.ScaleLeft

  ShockwaveFlash1.Width = Form2.ScaleWidth

  ShockwaveFlash1.Height = Form2.ScaleHeight

  End Sub

  Private Sub Timer1_Timer()

  注釋:在狀態(tài)欄和滑動(dòng)條上顯示當(dāng)前播放的幀。

  Form1!StatusBar1.Panels(5).Text = Str(ShockwaveFlash1.FrameNum)

  Form1!Slider1.Value = ShockwaveFlash1.FrameNum

  End Sub

  第三步:調(diào)試、運(yùn)行程序,運(yùn)行界面如圖2所示。

  當(dāng)播放Flash動(dòng)畫時(shí),在播放窗口中單擊鼠標(biāo)右鍵時(shí),將會(huì)彈出如圖3所示的菜單。在該菜單,我們可以完成控制Flash動(dòng)畫播放的大部份工作。若想取消該功能,只要將Shockwave flash控件的Menu屬性設(shè)置為False即可。

  以上程序在Windows98,VB6.0下運(yùn)行通過(guò)。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
ppt高級(jí)教程及技巧(一)
100項(xiàng)PPT制作技術(shù)
VB6.0 加載ShockwaveFlash(flash)控件
代碼不完整部分
VB6.0初學(xué)者的十個(gè)編程小技巧
PowerPoint課件中Flash控制攻略
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服