关于flash.ocx文件路径的问题

sqzg 2003-12-09 06:06:01
请问用flash.ocx文件在程序中播放flash时,flash的路径可以用相对路径吗,
我试了几次好象不行,请智能的同行指点一下。如果不行,请问还有没有这方面的控件。谢谢
...全文
410 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeeyee 2003-12-17
  • 打赏
  • 举报
回复
播放的是 *.swf 文件
steventone 2003-12-17
  • 打赏
  • 举报
回复
一.播放Flash

  首先,你的机器里要装有Flash播放软件(你的IE能显示Flash)。IE之所以能显示Flash是安装了由Macromedia公司提供的swflash.ocx控件,我们可以在Win98的$Windows\System\Macromed \Flash中或在Win2000中的$Winnt\System32\ Macromed\Flash中找到它。ActiveX控件在Windows里是通用的,Delphi也同样支持。

  运行Delphi后,选择选单Component→Import ActiveX Control,找到SWFlash.OCX 文件进行安装。安装完成后,ActiveX面板里出现TShockwaveFlash控件,这是Delphi对SWFlash.OCX的封装,现在我们就可以用这个控件来播放Flash了。拖一个Flash过来,放在Form上,指定其Movie属性为d:\test.SWF,并按F9键加以运行即可。怎么样,运行效果不错吧?

  下面,笔者将具体介绍TShockwaveFlash主要属性、方法和事件,以便于读者开发。

TShockwaveFlash主要属性如下:

ReadyState:读一个flash文件时的状态,其中包括0=Loading、1=Uninitialized、2=Loaded、3=Interactive和4=Complete;
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为按窗口百分比。

TShockwaveFlash主要事件如下:

OnProgress(int percent):读取一个flash时触发;
OnReadyStateChange(int state):状态改变时触发。states的值可以为0=Loading、1=Uninitialized、2=Loaded、3=Interactive和4=Complete。
soundbug 2003-12-10
  • 打赏
  • 举报
回复
同意楼上的
zjm107 2003-12-10
  • 打赏
  • 举报
回复
不能用相对路径也没有关系啊
可以这样用ExtractFilePath(Application.ExeName)得到应用程序的路径,然后在用这个路径组合成flash文件的路径不就OK了吗。
还有我没有看明白你只的是OCX控件不能用相对路径,还是flash文件,如果是OCX控件,你应该在安装程序的是后安装注册OCX控件,这样你的应用程序才能用,或者在打包的时候把flash的插件的安装包一起打进去,安装程序的时候先安装flash就OK了

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧