台灣最具影響力的-資訊專家社群 - 讓您成為最有價值的IT專業人才
線上人數
1680
 
會員總數:230296
接案會員:6772
文章總數:2320
討論主題:176099
歡迎您免費加入會員
討論區列表 >> VB.NET >> 放入flash的swf

[變換順序]
[我要回覆]
1


回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
放入flash的swf
價值 : 10 QP  點閱數:4089 回應數:2

點圖分享到Plurk吧!
樓主

沈傲霜
初學者
256 133
642 103
發送站內信

捐贈 VP 給 夏憶晴
請問在.Net中如何放入Flash的Swf檔案?

之前在VB6的時候將ShackWaveObject引入使用就可以了,
         (印象中吧,如果名稱有打錯請不要見笑)

但是在.Net中如法泡製的時候,

引入元件的時候都不會有問題,但是在將它拖曳到Form上面時就會寫著:

「Ax.....元件未註冊」諸如此類的警語,

並且拖曳失敗,元件並沒有到Form上面,

曾想過用WebBroswer,再寫個網頁來放,不過一想到就覺得煞是麻煩,

請問有沒有簡單的解決方法?
本篇文章發表於2006-03-24 13:34
什麼是iT Power資訊報 2010年藍色小舖認證專家風雲榜完全名單
1樓
回應

AirCanada
捐贈 VP 給 AirCanada 檢舉此回應
hi:


vb.net與FLASH的完美結合


(一) 在VB.net中播放Flash動畫

怎樣才能在VB.net中加入Flash動畫呢?我們只要使用Flash5自帶的Shockwave Flash.ocx這個控件就可以了。方法如下:

1. 打開VB.net,新建一個工程,在工具箱上單擊右鍵,選擇"添加…",在com窗口的控件列表中選擇Shockwave flash,然後確定,Flash控件就被加到工具箱上。

2.選擇工具箱上的Flash控件,放到窗體上並調整好大小;


3.在Form_Load()過程中加入如下代碼:

ShockwaveFlash1.Movie = 「D:\test.swf」 '這裡一定要寫絕對地址,其實只要把FLASH文件放到你程序的bin目錄裡,生成後自然變成相對路徑

'這裡寫上你的Flash文件目錄

ShockwaveFlash1.Menu = False

ShockwaveFlash1.Playing = True


其中,ShockwaveFlash1.Movie是用來指定你要播放的Flash動畫的目錄;ShockwaveFlash1.Menu是用來指定是否在Flash動畫播放中封閉右鍵菜單,True為能夠顯示菜單,False為封閉右鍵菜單;ShockwaveFlash1.Playing = True是讓動畫播放。
(二) 在Flash中控制VB.net程序實現交互



現在Flash動畫已經能在VB.net程序中播放了,那麼怎麼實現在Flash中控制VB的程序從而實現交互式的操作呢?本文的重點也在於此。

首先我們先來瞭解Flash中控制VB程序的基本原理:在Flash的ActionScript裡面有個叫做FSCommand()的函數,它的主要功能就是發送FScommand命令,例如使動畫全屏播放,隱藏動畫菜單,更重要的就是可以與外部文件和程序進行通信。而在VB程序中,我們就是利用的Shockwave flash控件的FSCommand()過程來完成這一通信過程,實現信息發送的功能,並且根據發送出來的不同的命令及參數來實現對VB.net程序的控制。

明白了吧?簡單的說,我們就是利用Flash中的FSCommand()函數向VB發送命令,利用Shockwave Flash控件來接受這個命令,從而達到Flash控制VB.net程序的目的。

好了,現在知道了原理,我們就一步一步來實現吧!

1. 首先要打開Flash製作一個交互按鈕,並在按鈕上面加上如下代碼:

on (release) {

fscommand ("Send Action");

//發送Send Action這個命令

}
這個命令的作用是當按下按鈕後Flash向VB發送出名為」Send Action」的命令。當然,這個命令的名字在實際應用中可以叫做其他的任何名字。

2. 將Flash導出成為swf文件,如文章第一部分所述插入到VB.net中,下面就是VB.net怎麼接受這個命令的事情了;

3. 在窗體上雙擊Shockwave Flash控件,進入ShockwaveFlash1_FSCommand事件中,在此事件中加入:

If e.command = "Send Action" Then

MsgBox("Flash與VB.net成功結合了!", vbApplicationModal, "成功了!")

'當接到Send Action命令的時候

'這裡加入你需要的程序

End If


其中,ShockwaveFlash1_FSCommand這個過程是專門用來接收Flash發送的FSCommand命令的,其中第一個參數command就是與Flash發送過來的命令相對應的,當其一致的時候,則執行後面的程序(本例中是彈出MsgBox)。

轉載博客園


本篇文章回覆於2006-03-24 13:46
--未登入的會員無法查看對方簽名檔--
2樓
回應

ABC
捐贈 VP 給 FLY 檢舉此回應
AirCanada您好:
請問C#適用您所說的方法嗎?



本篇文章回覆於2008-02-05 11:07
--未登入的會員無法查看對方簽名檔--
[變換順序]
1
 

回覆
如要回應,請先登入.