如题,listview设置为vsreport显示,我的listview要列举出d:\abc目录下的三个文件(分别为:a.txt,b.exe,c.jpg)名,并显示每个文件对应的图标,在不用imagelist的情况下显示到listview上,请问怎么操作?谢谢!

解决方案 »

  1.   

    发短了,
    var
    FileInfo: TSHFileInfo;
    begin
    //取得小图标集句柄
    S_ImageListHandle := SHGetFileInfo('C:\',0,FileInfo,
    SizeOf(FileInfo),SHGFI_SYSICONINDEX or SHGFI_SMALLICON);
    //将小图标集句柄指给列表
    SendMessage(Listview1.Handle, LVM_SETIMAGELIST, LVSIL_SMALL, S_ImageListHandle);
    end;
    使用的时候:
    ListItem:=ListView1.Items.Add;
    FillChar(FileInfo, SizeOf(FileInfo), #0);
    SHGetFileInfo(Pchar(extractfilepath(application.ExeName)),0,FileInfo,sizeof(FileInfo),
    SHGFI_SYSICONINDEX or SHGFI_SMALLICON);
    ListItem.ImageIndex :=FileInfo.iIcon ;