我正在尝试在Delphi 7中创建类似“预加载器”的东西:当用户加载文件或执行需要一段时间的过程时,我想要一个指示器,告诉他程序正在运行但是他有等一下。
我想到了一个加载条或一个旋转圆圈,如果需要的话,没有显示已加载的百分比或剩余的百分比。
我在flash中创建了一个旋转圆圈,但我找不到在Delphi 7中使用的方法。
我尝试通过Animate Control调用我的swf“预加载器”,但失败了,因为它只与avi文件兼容。
我还在.gif中下载了一个自由旋转的圆圈,并尝试将其添加到我在图像控件中的Delphi项目中,但这也失败了,因为该图像与gif格式不兼容。
有没有办法在Delphi中创建这个“预加载器”并通过外部swf或gif资源文件添加一个?如何实施?
答案 0 :(得分:1)
我使用Eugene Kryukov的Flash Engine,但现在还没有发售。
另一个解决方案是使用嵌入式Web浏览器 - EmbeddedWB,它支持swf。 我现在尝试过它,它有效。但是你必须安装Internet Explorer。使用示例:将组件放在表单上并执行以下操作:
EmbeddedWB1.Navigate('C:\test.swf');
另一种解决方案 - 您知道,安装组件ActiveX:
1)安装flash
2)从delphi菜单→组件→导入ActiveX控件
3)在列表中finsd并选择“Shockwave flash ...”,按“安装”按钮
4)之后,您将在“ActiveX”选项卡上看到组件ShackwaveFlash
5)在对象检查器中将路径和文件名放入“ShockwaveFlash1.Movie”属性中,
将ShockwaveFlash1.Loop和ShockwaveFlash1.Playing设置为true。
6)编译,运行和享受。
答案 1 :(得分:1)
搜索互联网论坛很多天后,我找到了以下解决方案。 首先,您必须已经安装了Flash player (不是Adobe套件的Flash Web设计器)。 如果没有,请关闭Delphi并访问Adobe的网站。从那里你应该根据你的操作系统下载适当的Flash播放器。安装完成后或安装了Flash播放器后,请按照以下步骤操作:
打开Delphi并转到菜单→组件→导入ActiveX控件。您将看到一个对话框。内 在此对话框中,您将看到组件列表。从这个列表中搜索并找到 " Shockwave flash"零件。检查并按安装。然后德尔福会问你一些问题 你不必花时间,只需按下" ok"按钮。
完成3-4个对话框后,Delphi最终将添加一个新组件 "的ActiveX"标签。打开Delphi并选择" ActiveX"选项卡,您将看到" ShockwaveFlash" component作为此选项卡的最后一个控件。
使用它选择此控件并将其放在表单中。给出适当的尺寸 以及您要播放的.swf(或.flv)文件的路径和文件名。 设置属性" play"," loop"如果你想让它连续播放或放置"循环播放,则为真。至 是的,只是为了让它只播放一次。
请注意:并非控件的所有属性都能正常工作。例如,如果您希望通过代码使您的文件可见或隐藏在您的遗嘱中(例如,在按钮的按下事件中),那么您将发现该控件不遵循您的命令。