Delphi7有没有能够加载多个图片的集合控件?我想添加多幅图片在其中!(10分)

  • 主题发起人 主题发起人 abigail
  • 开始时间 开始时间
A

abigail

Unregistered / Unconfirmed
GUEST, unregistred user!
Delphi7有没有能够加载多个图片的集合控件?我想添加多幅图片在其中!
 
Win32 面板里面的 ImageList 不就是嘛
 
ImageList对图片大小有要求的
建议直接装载或者做成资源文件。
 
看代码:
unit Unit2;
interface
uses Classes,SysUtils;
type
TBinStorage=class(TComponent)
private
FFilename,FOldFileName:String;
FBinStrm:TMemoryStream;
procedure WriteBin(Strm:TStream);
procedure ReadBin(Strm:TStream);
procedure SetFilename(const Value: String);
protected
procedure DefineProperties(Filer: TFiler);
override;
constructor Create(AOwner: TComponent);
override;
destructor Destroy;override;
published
property Filename:String read FFilename write SetFilename;
property BinStrm:TMemoryStream read FBinStrm ;
end;

procedure Register;
implementation
procedure Register;
begin
Classes.RegisterComponents('AAA',[TBinStorage]);
end;

{ TBinStorage }
constructor TBinStorage.Create(AOwner: TComponent);
begin
inherited;
BinStrm:=TMemoryStream.Create;
end;

procedure TBinStorage.DefineProperties(Filer: TFiler);
functiondo
Write:Boolean;
begin
Result:=(FFilename<>FOldFileName) and FileExists(FFilename);
end;
begin
inherited;
Filer.DefineBinaryProperty('BinStr',ReadBin,WriteBin,DoWrite);
end;

destructor TBinStorage.Destroy;
begin
BinStrm.Free;
inherited;
end;

procedure TBinStorage.ReadBin(Strm: TStream);
begin
BinStrm.LoadFromStream(strm);
end;

procedure TBinStorage.SetFilename(const Value: String);
begin
if FileExists(Value ) then
FFilename := Value
else
raise Exception.Create('File Not Exsit!');
end;

procedure TBinStorage.WriteBin(Strm: TStream);
var
f:TFileStream;
begin
FOldFileName:=FFilename;
f:=TFileStream.Create(FFilename,fmOpenRead);
try
Strm.CopyFrom(f,f.Size);
finally
f.Free ;
end;
end;

end.

在窗体上放这个控件。然后设置filename属性(就是你要存储的文件)
下面的代码把文件还原:
procedure TForm1.btn1Click(Sender: TObject);
var
F:TMemoryStream;
begin
F:=TMemoryStream.Create;
f.CopyFrom(bnstrg1.BinStrm,bnstrg1.BinStrm.Size);
f.SaveToFile('f:/1.pas');
f.Free;
end;

bnstrg1就是我的控件名称

先把图片用ZLib压缩,运行时从bnstrg1.BinStrm解压
 
ImageList 只能加载位图和图标
我想要实现的是可以随意地往页面添加自己拍摄的照片,
而且是可见的,下次打开页面还存在
 
ImageEn 控件比较适合.
盒子上有下载的.
 
来自:jsjxuwenjun, 时间:2008-7-14 11:14:09, ID:3907865
ImageEn 控件比较适合.
盒子上有下载的.
谢谢
我下载了一个
但是不会用
有没有类似使用手册的东西啊
有的话请发我的邮箱里面
abigailzhang@126.com
万分感激阿!
 
做成资源文件比較好.
 
解决了
谢谢jsjxuwenjun
使用的事imageenmview控件
 
后退
顶部