Einzelnen Beitrag anzeigen

d7user1
(Gast)

n/a Beiträge
 
#20

AW: ListView mit OwnerData schneller machen?

  Alt 22. Mär 2014, 17:09
hier ist ein beispiel zu iIcon aber es funktionier nicht mit iner ListView (vorher war überall ComboBoxEx):

Delphi-Quellcode:
procedure DisplayDrivesEx(aListView: TListView);
var
 i, j: Integer;
 vItem: TListItem;
 vFileInfo: TSHFileInfo;
 vImgList: THandle;
 s, D: string;
 sl: TStringList;
begin
 sl := TStringList.Create;

 sl.Add('C:\');
 sl.Add('D:\');
 sl.Add('E:\');
 sl.Add('D:\TestDatei.exe');

 try
  aListView.Items.BeginUpdate;

  aListView.Items.Clear;

  vImgList := SHGetFileInfo(PChar(sl[0]), 0, vFileInfo, SizeOf(vFileInfo), SHGFI_SYSICONINDEX or SHGFI_SMALLICON);

  SendMessage(aListView.Handle, CBEM_SETIMAGELIST, 0, vImgList);
  DestroyIcon(vFileInfo.hIcon);

  for i := 0 to sl.Count - 1 do
   begin
    SHGetFileInfo(PChar(sl[i]), 0, vFileInfo, SizeOf(vFileInfo), SHGFI_SYSICONINDEX or SHGFI_SMALLICON or
      SHGFI_DISPLAYNAME);

    vItem := aListView.Items.Add;
    vItem.ImageIndex := vFileInfo.iIcon;
   end;
 finally
  aListView.Items.EndUpdate;
 end;

 sl.Free;
end;
  Mit Zitat antworten Zitat