利用Delphi编制应用程序来实现对Flash控件应用的诠释
2010-03-31 08:51
483 查看
如何利用Delphi编制应用程序来实现对Flash控件应用的诠释?
楼主yckxzjj(Delphi编程驿站[www.delphidak.com])2003-10-14 19:16:18 在 Delphi / GAME,图形处理/多媒体 提问收集利用Flash控件编写播放Flash文件过程中遇到的问题及解题方法。
分不够再加,希望在此贴中收集最全的相关资料! 问题点数:0、回复次数:13Top
1 楼whitetiger8(键盘未敲坏,基本功未练成)回复于 2003-10-14 20:37:56 得分 0
不错的研究话题Top2 楼Storm2008($$天冰$$)回复于 2003-10-14 20:45:18 得分 0
u以下Top3 楼zhouguoyao(飞鸟)回复于 2003-10-14 21:23:07 得分 0
这个问题值得大家讨论一下,帮你顶一下Top4 楼IORILI(眼镜)回复于 2003-10-16 14:14:06 得分 0
加入activeX控件的 shockwarveFlash(version 1.0)button1 打开flash文件:
procedure tform1.button1click(sender:tobject);
begin
if opendialog1.execute then
showckwaveflash1.movie:=opendialog1.filename;
end;
button2:播放:
procedure tform1.button2click(sender:tobject);
begin
shockwaveflash1.play;
end;
button3:停止
procedure tform1.button3click(sender:tobject);
begin
shockwaveflash1.stopplay;
end;
button4:播放帧
procedure tform1.button4click(sender:tobject);
begin
showckwaveflash1.freeonrelease;
close;
end;
得到打开的flash图像的总帧数:
label1.caption:=showckwaveflash1.totalframes;
button5:控制flash从哪一帧开始播放:
procedure tform1.button5click(sender:tobject);
begin
shockwaveflash1.stopplay;
shockwaveflash1.gotoframe(spinedit1.value);
shockwaveflash1.play;
end;Top
5 楼Iamfish(呆鱼)回复于 2003-10-23 12:14:33 得分 0
在网站可以找到很多啊。Top6 楼tanqth(青蛙)回复于 2003-10-25 11:30:06 得分 0
UPTop7 楼yckxzjj(Delphi编程驿站[www.delphidak.com])回复于 2003-10-26 23:07:30 得分 0
unit UFlashPlayFile;interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, ShockwaveFlashObjects_TLB, ExtCtrls, Menus;
type
TFlashPlayFileFrm = class(TForm)
ShockwaveFlashPnl: TPanel;
ShockwaveFlash: TShockwaveFlash;
RightPM: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure WindowMaximize;
procedure FormDestroy(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure N6Click(Sender: TObject);
private
procedure WMSYSCommand(var msg: TWMSYSCommand); message WM_SYSCommand;
{ Private declarations }
public
{ Public declarations }
//自定义鼠标右键弹出消息
procedure MouseRightMessage(var Msg: TMsg; var Handled: Boolean);
end;
var
FlashPlayFileFrm: TFlashPlayFileFrm;
implementation
{$R *.dfm}
{ TFlashPlayFrm }
procedure TFlashPlayFileFrm.MouseRightMessage(var Msg: TMsg;
var Handled: Boolean);
begin
if (Msg.message = WM_RBUTTONDOWN) and (Msg.hwnd = ShockwaveFlash.Handle) then
begin
Handled := True;
RightPM.Popup(Mouse.CursorPos.X,Mouse.CursorPos.y);
end;
end;
procedure TFlashPlayFileFrm.FormCreate(Sender: TObject);
var
hMenuHandle:Integer;
begin
hMenuHandle:=GetSystemMenu(Handle,False);
if (hMenuHandle<>0) then
DeleteMenu(hMenuHandle,SC_CLOSE,MF_BYCOMMAND);
Application.OnMessage:= MouseRightMessage;
end;
procedure TFlashPlayFileFrm.WMSYSCommand(var msg: TWMSYSCommand);
begin
if (Msg.CmdType = SC_MAXIMIZE) then
WindowMaximize
else
DefaultHandler(Msg);
end;
procedure TFlashPlayFileFrm.WindowMaximize;
begin
Setwindowlong(Handle,GWL_STYLE,Getwindowlong(Handle,GWL_STYLE)and not WS_CAPTION);
WindowState := wsMaximized;
end;
procedure TFlashPlayFileFrm.N7Click(Sender: TObject);
begin
if WindowState = wsNormal then
WindowMaximize
else
begin
SetWindowLong(Handle,GWL_STYLE, GetWindowLong(Handle,GWL_STYLE) or WS_CAPTION);
WindowState := wsNormal;
end;
end;
procedure TFlashPlayFileFrm.FormDestroy(Sender: TObject);
begin
ShockwaveFlash.FreeOnRelease;
end;
procedure TFlashPlayFileFrm.FormResize(Sender: TObject);
begin
ActiveControl := nil;
ActiveControl := ShockwaveFlash;
end;
procedure TFlashPlayFileFrm.N6Click(Sender: TObject);
begin
WindowMaximize;
end;
end.Top
8 楼TechnoFantasy((VB MVP)www.applevb.com)回复于 2003-10-27 08:51:24 得分 0
不错,收藏一下。Top9 楼yckxzjj(Delphi编程驿站[www.delphidak.com])回复于 2004-01-14 20:05:28 得分 0
如何利用开发工具DELPHI对网页中的Flash文件进行保存操作?Top10 楼GameWeaverDummy(小白菜)回复于 2004-01-14 20:15:01 得分 0
帮你顶Top11 楼xiangwangz(<*敝屣荣华 浮云生死 此身何惧*>)回复于 2004-01-15 17:39:39 得分 0
帮你顶 ,呵呵 !Top12 楼delphizd(DELPHI字典)回复于 2004-01-19 07:41:29 得分 0
http://218.56.11.178:8018/FileDown.aspx?FID=239http://218.56.11.178:8018/FileDown.aspx?FID=84 href="http://writeblog.csdn.net/#" target=_blank>Top
13 楼yckxzjj(Delphi编程驿站[www.delphidak.com])回复于 2004-02-15 00:21:31 得分 0
function AddtoFile(SourceFile, TargetFile: string): Boolean;var
Target, Source: TFileStream;
FileSize: Integer;
begin
try
Source := TFileStream.Create(SourceFile,fmOpenRead or fmShareExclusive);
Target := TFileStream.Create(TargetFile,fmOpenWrite or fmShareExclusive);
try
Target.Seek(0, soFromEnd);
Target.CopyFrom(Source, 0);
FileSize:=Source.Size+Sizeof(FileSize);
Target.WriteBuffer(FileSize,SizeOf(FileSize));
finally
Target.Free;
Source.Free;
end;
except
Result := False;
Exit;
end;
Result := True;
end;
function LoadFromFile(SourceFile,TargetFile :string):Boolean;
var
Source: TFileStream;
Target: TMemoryStream;
FileSize: Integer;
begin
try
Target := TMemoryStream.Create;
Source:=TFileStream.Create(SourceFile,fmOpenRead or fmShareDenyNone);
try
Source.Seek(-SizeOf(FileSize), soFromEnd);
Source.ReadBuffer(FileSize, SizeOf(FileSize));
Source.Seek(-FileSize, soFromEnd);
Target.CopyFrom(Source, FileSize - SizeOf(FileSize));
Target.SaveToFile(TargetFile);
finally
Target.Free;
Source.Free;
end;
except
Result := False;
Exit;
end;
Result := True;
end;
function ExtractRes(ResType, ResName, ResNewName: string): Boolean;
var
Res: TResourceStream;
begin
try
Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
try
Res.SavetoFile(ResNewName);
Result := True;
finally
Res.Free;
end;
except
Result := False;
end;
end;
相关文章推荐
- 利用Delphi实现两层C/S数据库应用程序设计
- .:::::利用Delphi实现两层C/S数据库应用程序设计简介 :::::.
- 利用Mutex实现应用程序的单实例运行
- python脚本实例002- 利用requests库实现应用登录
- Iphone利用程序实现关闭当前应用
- 利用Delphi实现图像的淡入淡出
- Android应用中利用ViewPager实现多页面滑动切换效果示例
- Delphi利用TActionList实现权限控制
- 利用Ptrace在Android平台实现应用程序控制
- 在Delphi中应用AOP实现日志功能
- [转]多层数据库应用基于Delphi DataSnap方法调用的实现(三)对象池技术
- 利用 ANT 实现自动化部署管理 WebSphere Application Server 5.x 下的应用
- 利用Bmob云后端云函数实现移动应用与数据库的数据交互
- android利用apkplug框架实现主应用与插件通讯(传递任意对象)实现UI替换
- C# API 应用(根据句柄,实现向另一应用程序登录窗体实现登录
- 多层数据库应用基于Delphi DataSnap方法调用的实现对象池技术
- 利用javascript实现贪吃蛇部分小应用
- 利用Bmob公司的数据云存储,实现小米应用商店查看应用下载次数功能
- Delphi 利用API实现网格内组件的嵌入