如何根据文件名的不同,在LISTVIEW中显示其在windows资源管理器下的图标 ( 积分: 50 )

  • 主题发起人 主题发起人 njhuadong
  • 开始时间 开始时间
N

njhuadong

Unregistered / Unconfirmed
GUEST, unregistred user!
比如.ZIP文件就是一个想压缩机一样的图标
这些显示都是在LISTVIEW中
 
比如.ZIP文件就是一个想压缩机一样的图标
这些显示都是在LISTVIEW中
 
其实就是根据扩展名取得相关图标.
下面慢函数,你再加一个IMAGELIST配合就可以啦.
function GetIconFromExt(ext:string;var filename:string;var index:integer):boolean;
var
reg:tregistry;
src:string;
begin
reg:=tregistry.create;
reg.RootKey:=hkey_classes_root;
result:=reg.OpenKey('.'+ext,false);
if result then
begin
src:=reg.ReadString('');
reg.CloseKey;
if reg.OpenKey(src+'/defaulticon',false) then
begin
src:=reg.ReadString('');
if pos('%1',src)<>0 then exit;
filename:=copy(src,0,pos(',',src)-1);
index:=strtoint((trim(copy(src,pos(',',src)+1,length(src)-pos(',',src)))));
end;
end;
reg.Free;
end;
 
能不能说的再清楚点,如何获得IMAGELIST中的位图顺序
 
后退
顶部