首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PngComponents:如何将PNG文件添加到TPngImageList

PngComponents:如何将PNG文件添加到TPngImageList
EN

Stack Overflow用户
提问于 2013-06-19 21:12:21
回答 2查看 1.4K关注 0票数 2

我正在尝试将PNG文件添加到TPngImageList (从http://code.google.com/p/cubicexplorer/downloads/list获得的D7的PngComponents )。

代码语言:javascript
复制
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仍为空。怎么做好吗?

EN

回答 2

Stack Overflow用户

发布于 2013-06-19 21:30:57

没有经过测试,但这不应该简单地工作吗?

代码语言:javascript
复制
ImageList.PngImages.Add.PngImage.LoadFromFile(fn);
票数 2
EN

Stack Overflow用户

发布于 2013-06-19 21:55:25

使用PngImageList的其他方法解决。Prop PngImages具有所需的功能。

代码语言:javascript
复制
function LoadPngIconEx(ImageList: TPngImageList; const fn: string): boolean;
var
  AImage: TPngObject;
begin
  if not FileExists(fn) then
    Result:= false
  else
  begin
    AImage:= TPngObject.Create;
    try
      AImage.LoadFromFile(fn);
      ImageList.PngImages.Add.PngImage:= AImage;
      Result:= true;
    finally
      FreeAndNil(AImage);
    end;
  end;
end;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17192142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档