TShockwaveFlash的安装及其属性和方法
BCB6:Component→Import ActiveX Control,找到Shockwave Flash [Verion 1.0] 文件进行安装。
安装完成后,ActiveX面板里出现TShockwaveFlash控件
TShockwaveFlash主要属性如下:
ReadyState:读一个flash文件时的状态;
TotalFrames:总帧数,只有当ReadyState = 4时才能访问该属性;
FrameNum:当前播放的帧;
Playing:播放或暂停一个flash;
Quality:指定当前渲染的质量,包括0=Low, 1=High、2=AutoLow、3=AutoHigh;
ScaleMode:缩放模式,0=ShowAll、1= NoBorder、2 = ExactFit;
AlignMode:对齐模式,Left=1、Right=2、Top=4、Bottom=8;
BackgroundColor:背景色,-1为默认颜色;
Loop:是否循环;
Movie:指定播放的flash文件路径,可以为一个URL。
TShockwaveFlash主要方法如下:
Play():开始播放动画;
Stop();停止播放动画;
Back();播放前一帧动画;
Forward():播放后一帧动画;
Rewind():播放第一帧动画;
SetZoomRect(int left, int top, int right, int bottom):设置缩放的区域;
Zoom(int percent):缩放(按百分比);
Pan(int x, int y, int mode):缩放播放面板,其中模式0为按像数、1为按窗口百分比。
TSetProperty(target:widestring,property_:integer,const value widestring):设定flash中影 片的属性;
TGetProperty(target:widestring,property_:integer):取得flash中影片的属性;
GetVariable(const name:widestring):取得flash中动态文本的值;
SetVariable(const name:widestring,const value:widestring):设定flash中动态文本的值;
TShockwaveFlash主要事件如下:
OnProgress(int percent):读取一个flash时触发;
OnReadyStateChange(int state):状态改变时触发。states的值可以为0=Loading、
1=Uninitialized、2=Loaded、3=Interactive和4=Complete。
OnFSCommand(const command, args: WideString):可用来读取flash按钮中的参数;
三.Delphi与flash的信息通道
1.利用flash控件的Fscommand属性来读取flash按钮中的参数及参数的值。
例: 新建一个flash文件,在flash主场景中添加四个按钮依次在按钮中添加如下脚本:
第一个按钮: on (release) {
fscommand (”Num1”, ”1”);
}
第二个按钮: on (release) {
fscommand (”Num1”, ”2”);
}
第三个按钮: on (release) {
fscommand (”Num2”, ”1”);
}
第四个按钮: on (release) {
fscommand (”Num2”, ”2”);
}
新建一Delphi工程,在Form中添加flash控件,设置好其movie属性,双击FSCommand事
件,添入以下代码:
procedure TForm1.ShockwaveFlash1FSCommand(Sender: TObject; const command,args:
WideString);
begin
if command=’Num1’ then showmessage(’Num1’);
if ((command=’Num1’) and (args=’1’)) then showmessage(’Num1 1’);
if ((command=’Num1’) and (args=’2’)) then showmessage(’Num1 2’);
if command=’Num2’ then showmessage(’Num1’);
if ((command=’Num2’) and (args=’1’)) then showmessage(’Num2 1’);
if ((command=’Num2’) and (args=’2’)) then showmessage(’Num2 2’);
( end;
2.利用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;
3. 利用flash控件的TSetProperty或TGetProperty方法来读或写flash影片的属性。
例: 新建一个flash文件,在flash主场景中添加一影片(MC),将其name设为MC1.
新建一Delphi工程,在Form中添加flash控件,设置好其movie属性,再添加二个Button控件和timer
控件,button1的caption设为Start;button2的caption设为End;代码如下:
procedure TForm1.Timer1Timer(Sender: TObject);
var
i:integer;
s:string;
begin
s:=shockwaveflash1.TGetProperty(’MC1’,6);
i:=strtoint(s);
i:=i-10;
s:=inttostr(i);
shockwaveflash1.TSetProperty(’MC1’,6,s);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
timer1.Interval :=500;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
timer1.Interval :=0;
end;
运行后,可以看到影片的透明度越来越小。shockwaveflash1.TGetProperty(’MC1’,6)语句中的6表示影片的透明度属性,
其他属性如下:
0----------->表示影片x坐标
1----------->表示影片y坐标
2----------->表示影片xscale
3----------->表示影片yscale
6----------->表示影片的透明度
7----------->表示影片可见性
8----------->表示影片的宽度
9----------->表示影片的高度
10---------->表示影片旋转
补充一下:
在新版的flash中控件SWFlash.OCX改为Flash.OCX了
参考:http://blog.163.com/snowd_rop/blog/static/1157847822010119249230/
TShockwaveFlash的安装及其属性和方法相关推荐
- linux安装IPython四种方法
IPython是Python的交互式Shell,提供了代码自动补完,自动缩进,高亮显示,执行Shell命令等非常有用的特性.特别是它的代码补完功能,例如:在输入zlib.之后按下Tab键,IPytho ...
- Sublime Text 无法使用Package Control或插件安装失败的解决方法
Sublime Text用了一年多了,公司搬家最近突然发现Package Control无法安装新插件了,虽然不影响原有功能的使用,还是要解决它.由于本人用Windows系统,只讨论Windosw下的 ...
- Sublime Text 无法使用Package Control或插件安装失败的解决方法【转】
Sublime Text用了一年多了,公司搬家最近突然发现Package Control无法安装新插件了,虽然不影响原有功能的使用,还是要解决它.由于本人用Windows系统,只讨论Windosw下的 ...
- C#常用控件的属性以及方法(转载)
-----以前看别人的,保存了下来,但是忘了源处,望见谅. C#常用控件属性及方法介绍 目录 1.窗体(Form) 2.Label (标签)控件 3.TextBox(文本框)控件 4.RichText ...
- Windows更新补丁下载、批量安装的几种方法
Windows更新补丁下载.批量安装的几种方法 对于广大电脑爱好者而言,打补丁已经是"家常便饭".每次重装系统后,之前系统更新过的补丁也随之毁于一旦,不得不再次连接到微软的网站,将 ...
- 计算机如何驱动无线网络,win7如何安装无线网卡驱动 安装无线网卡驱动的方法...
今天告诉大家win7安装无线网卡驱动?无线网卡就是既能接受无线信号,又能发射无线信号的网络设备,但无线网卡就需要安装无线网卡驱动.许多新手用户不懂安装步骤,其实安装方法简单,接下来给大家说明一下win ...
- System.getProperty(属性名)方法的使用
System.getProperty("属性名")方法的使用 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/A__17/a ...
- JBuilder安装JDBC drive的方法略解
文章介绍有关JBuilder安装JDBC drive的方法,也许对您有一定的帮助,我也是闲的无聊拿来分享一下我的窍门,或许有更好的方法,当然,我是个业余爱好者,我是做电话录音盒相关软件工作的,平时一些 ...
- 不从Win7/Win8.1升级,直接全新安装并激活Win10方法
不从Win7/Win8.1升级,直接全新安装并激活Win10方法(转自IT之家):方法简单方便, 感觉可节省不少时间,所以搬运分享给大家. 本文针对那些还没有升级Win10的Win7/W ...
- windows server 2012 安装 VC++ 安装失败0x80240017解决方法
摘要:在一台Windows server 2012 R2 的设备上 mysql 8.0.26.0时,提示缺少 vc++ 2019.后续通过补丁的方式完成mysql安装,这里对补丁记录一下.vc++下载 ...
最新文章
- 网络营销之CPA、CPS、CPM、CPT、CPC 是什么
- mysql数据库的字符集设置_mysql数据库字符集设置
- 5G NGC — 关键技术 — R15 SBA
- retinaface人脸姿态
- 优化 recipe 达到快速启动 SAP Hybris Accelerator Storefront 的方法
- [重要!] SAP Spartacus加载网络请求的entity状态切换,统一在loader.reducer.ts里完成
- 容器化Spring Data Cassandra应用程序
- C# DataSet转JSON
- 记一次mysql进程无法启动的解决方案
- sdk和api有什么区别
- CCPC2020太原理工获得一枚奖牌
- oracle常见sql积累
- windows :32位到64 位
- 盘点电商大战背后的技术力量支撑
- 贪吃蛇c语言代贴吧,【图片】C语言小游戏~贪吃蛇【c语言吧】_百度贴吧
- 845 数组中的最长山脉
- 制作u盘winpe启动盘_如何制作U盘启动盘
- 构造-牛客寒假集训营3-牛牛的DRB迷宫II
- 闲聊弹幕网站背后的用户需求和心理动机
- TA-Lib介绍安装及使用教程
热门文章
- 中职计算机专业考试时间,中职学业水平考试时间表出炉!这些不得不提前知晓...
- FAT文件系统几点释疑
- LeetCode -- Word Ladder
- pdn阻抗测试_阻抗测试基础(超详细,安捷伦工程师力作)(上篇)
- PLUPLOAD插件 ━━ 上传总结(分片上传,php后端处理)
- linux 显卡扩展坞,我的新玩意儿——Mac mini2018+Razer core(附显卡扩展坞类比图)...
- 管理学之父德鲁克:目标管理的八要素和七步骤
- tfidf+embedding
- 【经验】CCF CSP认证问题
- 2020博客之星结束了,感谢这些小伙伴们为我投票|博客之星TOP20的几位大佬