hab die Icon in den Columns weggelassen
nur hab ich jetzt folgenden effekt
ich hab 2 ListView
lass ich mir in ListView1 alle dateien anzeigen zeigt auch die Icon zu den Dateien
lass ich mir dann ListView2 die Dateien anzeigt zeigt er AUCH die Icon an
nun kommt es
start ich das programm neu und laß mir erst die Dateien in ListView2 anzeigen sind keine Icon da
lass ich sie dann wieder in ListView2 anzeigen sind sie da und kann ich sie mir auch in ListView1 anzeigen lassen
Delphi-Quellcode:
//******************************************************************************
//IE CookieCache lesen
Procedure IECache_Cookie_Lesen_IECU();
var
ie_cache : PINTERNETCACHEENTRYINFO;
size_dw : DWord;
cache_dir_dw : DWord;
icon_list_il : HImageList;
list_item_li : TListItem;
file_info_fi : TSHFileInfo;
begin
//Icon laden
icon_list_il := HImageList(SHGetFileInfo('', 0, file_info_fi, SizeOf(file_info_fi), SHGFI_SYSICONINDEX or SHGFI_ICON));
if (icon_list_il <> 0) then
begin
Haupt_Form.Wartung_Temp_ImageList1.Handle := icon_list_il;
Haupt_Form.Wartung_Temp_ImageList1.Height := 16;
Haupt_Form.Wartung_Temp_ImageList1.Width := 16;
end;
Haupt_Form.Wartung_ListView01.Items.BeginUpdate;
Haupt_Form.Wartung_ListView01.Items.Clear;
size_dw := 65536;
ie_cache := AllocMem(size_dw);
try
cache_dir_dw := FindFirstUrlCacheEntry(NIL, ie_cache^,size_dw);
while cache_dir_dw <> 0 do
begin
Application.ProcessMessages;
if ((ie_cache^.CacheEntryType AND COOKIE_CACHE_ENTRY) = COOKIE_CACHE_ENTRY) then
begin
//Name
list_item_li := Haupt_Form.Wartung_ListView01.Items.Add;
list_item_li.Caption := ie_cache^.lpszSourceUrlName;
//Icon
SHGetFileInfo(ie_cache^.lpszLocalFileName, 0, file_info_fi, SizeOf(file_info_fi), SHGFI_SYSICONINDEX or SHGFI_ICON);
list_item_li.ImageIndex := file_info_fi.iIcon;
//Grösse
list_item_li.SubItems.Add(Datei_Groesse_Format_GU(Datei_Groesse_GU(ie_cache.lpszLocalFileName)));
end;
size_dw := 65536;
if not FindNextURLCacheEntry(cache_dir_dw,ie_cache^,size_dw) then
begin
cache_dir_dw := 0;
end;
end;
finally
FreeMem(ie_cache,65536);
Haupt_Form.Wartung_ListView01.Items.EndUpdate;
end;
end;
//******************************************************************************
//IE URLHistoryCache lesen Verläufe
Procedure IECache_URLHistory_Lesen_IECU();
var
ie_cache : PINTERNETCACHEENTRYINFO;
size_dw : DWord;
cache_dir_dw : DWord;
icon_list_il : HImageList;
list_item_li : TListItem;
file_info_fi : TSHFileInfo;
begin
//Icon laden
icon_list_il := HImageList(SHGetFileInfo('', 0, file_info_fi, SizeOf(file_info_fi), SHGFI_SYSICONINDEX or SHGFI_ICON));
if (icon_list_il <> 0) then
begin
Haupt_Form.Wartung_Temp_ImageList1.Handle := icon_list_il;
Haupt_Form.Wartung_Temp_ImageList1.Height := 16;
Haupt_Form.Wartung_Temp_ImageList1.Width := 16;
end;
Haupt_Form.Wartung_ListView11.Items.BeginUpdate;
Haupt_Form.Wartung_ListView11.Items.Clear;
size_dw := 65536;
ie_cache := AllocMem(size_dw);
try
cache_dir_dw := FindFirstUrlCacheEntry(NIL, ie_cache^,size_dw);
while cache_dir_dw <> 0 do
begin
Application.ProcessMessages;
if (ie_cache^.CacheEntryType AND URLHISTORY_CACHE_ENTRY) = URLHISTORY_CACHE_ENTRY then
begin
//Name
list_item_li := Haupt_Form.Wartung_ListView11.Items.Add;
list_item_li.Caption := ie_cache^.lpszSourceUrlName;
//Icon
SHGetFileInfo(ie_cache^.lpszLocalFileName, 0, file_info_fi, SizeOf(file_info_fi), SHGFI_SYSICONINDEX or SHGFI_ICON);
list_item_li.ImageIndex := file_info_fi.iIcon;
end;
size_dw := 65536;
if not FindNextURLCacheEntry(cache_dir_dw,ie_cache^,size_dw) then
begin
cache_dir_dw := 0;
end;
end;
finally
FreeMem(ie_cache,65536);
Haupt_Form.Wartung_ListView11.Items.EndUpdate;
end;
end;
Es ist aber immer nur eine ListView sichbar
kannst du helfen ?