用SHGetFileInfo取得文件和文件夹图标到IMAGELIST后,如何确切的知道哪个图标是文件夹图标 ( 积分: 50 )

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

njlgg

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在LISTVIEW中列出文件夹和文件,并显示某种文件类型文件的图标和文件夹图标.但在显示文件夹图标时遇到了问题.在不同的电脑上,文件夹图标的ICONINDEX是不同的.哪位高手能告诉我用SHGetFileInfo取得文件和文件夹图标到IMAGELIST后,如何确切的知道哪个图标是文件夹图标?
(下面的程序可以取得.BMP位图文件的图标,但我还想得到文件夹图标)
procedure TForm1.Button2Click(Sender: TObject);
var
ImageList:THandle;
FileInfo:TSHFileInfo;
tempitem:tlistitem;
begin
ImageList:=SHGetFileInfo('c:/',0,FileInfo,sizeof(FileInfo), SHGFI_SYSICONINDEX or SHGFI_LARGEICON);
ImageList1.Handle:=ImageList;
ImageList1.ShareImages:=true;
SHGetFileInfo('.bmp',0,FileInfo,sizeof(FileInfo),SHGFI_USEFILEATTRIBUTES or SHGFI_ICON or SHGFI_SMALLICON);
tempitem:=listview1.Items.Add;
tempitem.Caption:='bmp';
tempitem.ImageIndex:=FileInfo.iIcon;
END;
 
没人回答,我自己解决了
 
后退
顶部