(Gast)
n/a Beiträge
|
AW: ListView mit OwnerData schneller machen?
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;
|
|
Zitat
|