2025年6月27日更新

1、 PROJECT -> PROJECT OPTIONS -> RESOURCES(资源)
中加资源信息。

2、加入引用
LResources

3、加载资源

var

rs: TResourceStream;
resST:string;

 

rs := TResourceStream.Create(HINSTANCE, 'WAIT', RT_RCDATA);
SetLength(resST,rs.Size);
rs.Read(Pointer(resST)^, rs.Size);
rs.Free;
LazarusResources.Add('wait','GIF',resST);
GifAnim1.LoadFromLazarusResource('wait');

 

也可以在unit GifAnim; 单元中加一个

//加载项目中的资源,参数为资源名

procedure TGifAnim.LoadFromResourceName(const ResName: String);
var
rs: TResourceStream;
resST:string;
Resource: TLResource;
begin
Resource:=LazarusResources.Find(ResName);
if Resource = nil then
begin
rs := TResourceStream.Create(HINSTANCE, ResName, RT_RCDATA);
SetLength(resST, rs.Size);
rs.Read(Pointer(resST)^, rs.Size);
rs.Free;
LazarusResources.Add(ResName, 'GIF', resST);
end;
LoadFromLazarusResource(ResName);
end;

使用为GifAnim1.LoadFromResourceName('WAIT');

 

//-----------------------------------------------------------

一、引入资源文件。LoadFromLazarusResource的用法
1、生成lrs文件
C:\lazarus\tools>lazres.exe gif.lrs C:\inetpub\wwwroot\working
返回..... ResourceName='working' Type='GIF'

这里扩展名也可以是res
2、加入引用
LResources
3、窗口最后加
Initialization
{$I gif.lrs}
end.
4、使用,如
GifAnim1.LoadFromLazarusResource('working');

5、加载成流

var
LResource:TLResource;
StringStream: TStringStream;
begin
LResource:=LazarusResources.Find('Hzk16');
StringStream:=TStringStream.Create(LResource.Value);
Hzk16FontData:=TMemoryStream.Create;
StringStream.Position:=0;
StringStream.SaveToStream(Hzk16FontData);

end;


二、引入资源。LoadFromResourceName的用法
1、 PROJECT -> PROJECT OPTIONS -> RESOURCES(资源)
中加资源信息。
2、加载
Image1.Picture.LoadFromResourceName(hInstance,'WELCOME');

posted on 2024-01-11 20:55  禁卫军  阅读(215)  评论(0)    收藏  举报