如何操控Flash? |
尚未結案
|
m0210
一般會員 發表:31 回覆:29 積分:17 註冊:2002-08-23 發送簡訊給我 |
|
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
若要在delphi 控制flash,flash 有提供一ocx元件---flash.ocx
在Project-->Import Type Library,找尋Shockwave Flash,並安裝
,然後在元件盤activex 區裡找ShockwaveFlash ,拉到螢幕上
參考下列用法
procedure TForm1.Button1Click(Sender: TObject); begin ShockwaveFlash1.Movie :='E:\Flash\Progress1227.swf'; ShockwaveFlash1.Play ; end; procedure TForm1.Button2Click(Sender: TObject); begin ShockwaveFlash1.GotoFrame(StrToInt(Edit1.Text)); //指定frame格 ShockwaveFlash1.Play ; end;=============================================================================== 提醒您,貼錯文章可立即傳訊通知該版版主/站長/副站長協助處理,不要放著不管喔 |
banson1716
高階會員 發表:55 回覆:182 積分:167 註冊:2002-04-14 發送簡訊給我 |
如果你的電腦已裝了Flash,那就非常簡單。如果還沒裝,那麼在網上下載flash 插件也可以,然後啟動你的Delphi,再Component菜單項選Import ActiveX Control...,接下來在Import ActiveX Control項就會有Sockwave Flash (版本號)這項出現,選中它再按Install...按鈕。
現在你的Component面板有ShockwaveFlash控件了吧,它的使用方法和其他控件沒有大的差別,做一個簡單示例。
新建一個Project,在Form上放一個button和一個opendialog 控件,再放上ShockwaveFlash件。opendialog 用於打開Flash文件(*.swf),button的 onclick 事件如下:
begin
opendialog1.execute;
swf:=opendialog1.filename;
shockwaveflash1.Movie:=swf;
shockwaveflash1.play;
end;
編譯通過,你就可以用按鈕打開對話框,選擇*.swf文件就可以了。
|
jasver
一般會員 發表:4 回覆:11 積分:3 註冊:2002-04-03 發送簡訊給我 |
|
China Join
中階會員 發表:81 回覆:242 積分:89 註冊:2003-03-12 發送簡訊給我 |
我懂你的意思了,小弟最近也在學控制 FLASH 請參考下面作法 .... 利用flash控制項的Setvariable或Getvariable方法來讀或寫flash動態文本框中的內容。
例: 新建一個flash檔,在flash主場景中添加一動態文本框,將其variavle設為Text1.
新建一Delphi工程,在Form中添加flash控制項,設置好其movie屬性,再添加二個Button控制項,雙
擊Button1,添入以下代碼:
procedure TForm1.Button1Click(Sender: TObject);
begin
shockwaveflash1.SetVariable(’Text’,’資訊已經到達!’);
end;
雙擊Button2,添入以下代碼:
procedure TForm1.Button2Click(Sender: TObject);
begin
showmessage(shockwaveflash1.GetVariable(’Text’));
end;
|
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
|
China Join
中階會員 發表:81 回覆:242 積分:89 註冊:2003-03-12 發送簡訊給我 |
|
jasver
一般會員 發表:4 回覆:11 積分:3 註冊:2002-04-03 發送簡訊給我 |
在flash中用fscommand可間接用來與delphi的函數溝通
例如在flash 按鈕的action中用
fscommand("swfcall", var1);
delphi即透過ShockwaveFlash ActiveX的SFFSCommand(Sender: TObject; const command, args: WideString);
來接收此事件,例如
==================================================================
procedure TForm1.SFFSCommand(Sender: TObject; const command, args: WideString);
begin
if command = 'swfcall' then
begin
swfcall(args);
end;
end; procedure TForm1.swfcall(s:string);
begin
showmessage(s);
end;
==================================================================
B.T.W. 如果要隱藏flash的右鍵選單可以用以下方式
先拉一個TApplicationEvents的元件然後在他的Message事件中寫
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
begin
if Msg.message = WM_RBUTTONDOWN then Handled := True;
end; ==================================================================
如果要自訂右鍵選單,則寫成以下方式
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
begin
if Msg.message = WM_RBUTTONDOWN then
begin
popupmenu1.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);
Handled := True;
end;
end;
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |