如何获得应用程序的图标并添加到imagelist中呢???急

redlegend_126_com 2003-02-09 01:53:48
如何获得应用程序的图标呢????添加到imagelist呢??
Extracticon么?具体给点代码吧!!!
...全文
49 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhanchang230 2003-03-08
  • 打赏
  • 举报
回复
补充一点:
第二个函数有些格式的文件的图标读不出来
第一个函数比较好用,而且据说速度也能快一些
zhanchang230 2003-03-08
  • 打赏
  • 举报
回复
有两个函数可以用:
var
FileInfo:_SHFILEINFO;
sName:string;
FileIcon:TIcon;
Num:Integer;
1.SHGetFileInfo.
begin
try
FileIcon:=TIcon.Create;
SHGetFileInfo(pchar(sName),0,FileInfo,sizeof(FileInfo),SHGFI_ICON);
FileIcon.handle:=FileInfo.HIcon;
ImageList1.addicon(FileIcon);//该函数的返回值为Icon在ImageList1中的Index.
finally
FileIcon.Free;
end;
end;
2.ExtractIcon
begin
try
FileIcon:=TIcon.Create;
Num:=ExtractIcon(hInstance,pchar(sName),LongWord(-1));//取得文件中的Icon的数目
if Num>0 then
begin
FileIcon.HIcon:=ExtractIcon(hInstance,pchar(sName),LongWord(0));
ImageList1.addicon(FileIcon);
end;
Finally
FileIcon.Free;
end;
end;
这两个函数的具体用法你可以查阅Delphi的帮助文档,也可以查阅介绍Api的一些资料

NightCloud 2003-02-09
  • 打赏
  • 举报
回复
study
soaringbird 2003-02-09
  • 打赏
  • 举报
回复
uses
ShellAPI;

procedure TForm1.Button1Click(Sender: TObject);
var
icLarge, icSmall: TIcon;
hLarge, hSmall: HICON;
begin
icLarge := TIcon.Create();
icSmall := TIcon.Create();
ExtractIconEx('C:\Program Files\Borland\Delphi7\Bin\Delphi32.exe',
0,
hLarge,
hSmall,
1);
icLarge.Handle := hLarge;
icSmall.Handle := hSmall;
ImageList1.AddIcon(icLarge);
ImageList1.AddIcon(icSmall);

end;

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧