我正在尝试将PNG文件添加到TPngImageList(用于D7的PngComponents从http://code.google.com/p/cubicexplorer/downloads/list获得)。
type
TImgListCrack = class(TPngImageList);
function LoadPngIconEx(ImageList: TPngImageList; const fn: string): boolean;
var
Icon: HICON;
AImage: TPngObject;
begin
with ImageList do
begin
BeginUpdate;
try
AImage:= TPngObject.Create;
AImage.LoadFromFile(fn);
Icon:= TImgListCrack(ImageList).PngToIcon(AImage);
ImageList_AddIcon(Handle, Icon);
DestroyIcon(Icon);
FreeAndNil(AImage);
Result:= true;
finally
EndUpdate;
end;
end;
end;
结果:未添加图标,图像列表仍然为空。怎么办好吗?
最佳答案
未经测试,但这不行吗?
ImageList.PngImages.Add.PngImage.LoadFromFile(fn);