在百度搜了半天也无解..实在是郁闷啊...
现软件需要要将多种图片ICO,PNG,GIF,jpg存入DLL里面然后在程序里面调用到IMAGELIST里面.或者是CXIMAGELIST.然后程序运行的时候从DLL里面读出来做为菜单的图标
哪位帮忙写下代码,资源文件里面怎么写,程序读写的时候又要怎么写,需要引用哪些单元,最好只使用DEV里面的PAS或者D7自带的pas.
除了感谢还是感谢啊..
现软件需要要将多种图片ICO,PNG,GIF,jpg存入DLL里面然后在程序里面调用到IMAGELIST里面.或者是CXIMAGELIST.然后程序运行的时候从DLL里面读出来做为菜单的图标
哪位帮忙写下代码,资源文件里面怎么写,程序读写的时候又要怎么写,需要引用哪些单元,最好只使用DEV里面的PAS或者D7自带的pas.
除了感谢还是感谢啊..
如何把资源文件放到DLL中?
而且编译ICO到RES的时候还报错,ICO是16位的确认无误.
而且image里面也只有BITMAP和ICON,并无JPEG等的写法..顶顶啊,谁来帮帮我
JPEG.rc
Budded JEPG Euro.JPG
{$R 'jpeg.res' 'jpeg.rc'}uses
jpeg;procedure TForm4.Button1Click(Sender: TObject);
var
FData: TResourceStream;
F: TJPEGImage;
begin
FData := TResourceStream.Create(HInstance, 'Budded', 'JEPG');
try
FData.Position := 0;
Image1.Picture.Graphic := TJPEGImage.Create();
Image1.Picture.Graphic.LoadFromStream(FData);
finally
FData.Free;
end;
end;
put ICON 2.ico
cut RCDATA 1.BMP
Budded JEPG a1.JPG
这是RC文件,编译不通过,
[RC Error] tb.rc(1): Allocate failed
把ICON改成rcdata就可以生成RES和DLL,但是代码无法找到var
DL:THANDLE; ht:hIcon;
begin
dl:=Loadlibrary('project2.dll');
ht:=LoadIcon(DL,'cut');
img2.Picture.Icon.Handle:=ht;帮帮忙啊!一天还还是没什么进展.
Indicator ICO Indicator.ico
...MainFrame JPG MainFrame.jpg
Call JPG Call.jpg
Management JPG Management.jpg
...procedure LoadIconFromDLL(const Icon: TIcon; ResName: String); stdcall;
var
Stream: TStream;
begin Stream := TResourceStream.Create(HInstance, ResName, PChar('ICO'));
try
Icon.LoadFromStream(Stream);
finally
Stream.Free;
end;end;