Показать сообщение отдельно
  #1  
Старый 13.02.2021, 14:04
who_know777 who_know777 вне форума
Прохожий
 
Регистрация: 09.02.2021
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию win32api ListView, ускорить вывод

Доброго времени суток. В одном из проектов на delphi потребовалось вывести много данных в ListView, на winapi, без использования Forms.
Сначала сканирую диск на файлы, потом вывожу:
Код:
procedure ListView_InsertItem1(s1, s2, s3, s4: String);
var
   Item : tLVITEM;
begin

    ZeroMemory(@Item, SizeOf(Item));
    
    Item.mask := LVIF_IMAGE or LVIF_TEXT;
    Item.pszText := PChar(s1);
    Item.iImage := ImageIndex(s2);
    Item.iItem := LV_Count(hListView);

    ListView_InsertItem(hListView, Item);

    Item.iSubItem := 1;
    Item.pszText  := PChar(s2);
    ListView_SetItem(hListView, Item);

    Item.iSubItem := 2;
    Item.pszText  := PChar(s3);
    ListView_SetItem(hListView, Item);

    Item.iSubItem := 3;
    Item.pszText  := PChar(s4);
    ListView_SetItem(hListView, Item);

end; //ListView_InsertItem1
Проблема в том, что выводится очень медленно, даже поиск на диске осуществляется быстрее. Подскажите пожалуйста как можно ускорить процесс вывода.
Ответить с цитированием