Здравствуйте форумчане!!! С помощью компонента Listview вывожу файлы из нужной пользователю каталога-директории Функция SHGetFileInfo корректно отображает пиктограммы файлов Listview реагирует увеличением или уменьшением рамкой поля в котором отображается пиктограмма файла или папки , но сама пиктограмма размер не меняет. Изначально в 17-й стр., ниже приведенного кода, вторым параметром функции - FindFirst() стоял флаг faAnyFile, но так как возникла проблема с отображением иконок - пиктограмм ПАПОК добавил вторую функцию - FindFirst() на поиск только папок где жестко задал индекс иконки ПАПКИ (методом тыка :help: нашел) и это смущает , ведь описании функции - SHGetFileInfo написано что она получает доступ к спискам пиктрограмм Windows но почему же тогда она не выводит индекс иконки ПАПКИ? Code: void __fastcall Twindowsnetrepository::ExplorerDir(UnicodeString *DirPatch) { TSHFileInfo SFI = {0}; TSearchRec filestruct; TIcon *icon = new TIcon; TListItem *newitem; ListView1->ViewStyle = vsIcon; ListView1->LargeImages = new TImageList(16,16); ListView1->SmallImages = new TImageList(16,16); ListView1->SmallImages->ShareImages = true; ListView1->LargeImages->ShareImages = true; ListView1->LargeImages->Handle = SHGetFileInfo(L"*.*", SFGAO_SHARE, &SFI, sizeof(SFI),SHGFI_SELECTED | SHGFI_OPENICON | SHGFI_LARGEICON | SHGFI_SYSICONINDEX | SHGFI_USEFILEATTRIBUTES + SHGFI_ICON ); //Запрашиваем большие иконки *DirPatch = *DirPatch + "*.*"; int res = FindFirst(*DirPatch,faHidden | faArchive | faSysFile + faVolumeID,filestruct); while (!res) { if ((filestruct.Name !="." ) && (filestruct.Name != "..")) { //Присваиваем системные иконки в ListViewl newitem = ListView1->Items->Add(); newitem->Caption = filestruct.Name; newitem->SubItems->Add(filestruct.Size); newitem->SubItems->Add(DateTimeToStr(FileDateToDateTime(filestruct.Time))); SHGetFileInfo((*DirPatch + filestruct.Name).c_str(), SFGAO_SHARE, &SFI, sizeof(SFI),SHGFI_SELECTED | SHGFI_OPENICON | SHGFI_ICON | SHGFI_SYSICONINDEX | SHGFI_LARGEICON | SHGFI_USEFILEATTRIBUTES); newitem->ImageIndex = SFI.iIcon; newitem->OverlayIndex = 1; } res = FindNext(filestruct); } FindClose(filestruct); // поиск и вывод папок res = FindFirst(*DirPatch,faDirectory,filestruct); while (res == 0) { if ((filestruct.Name != ".") && (filestruct.Name != "..") && ((filestruct.Attr & faDirectory) !=0)) { newitem = ListView1->Items->Add(); newitem->Caption = filestruct.Name; newitem->ImageIndex = SFI.iIcon; newitem->ImageIndex = 1; newitem->SubItems->Add(""); newitem->SubItems->Add(DateTimeToStr(FileDateToDateTime(filestruct.Time))); newitem->OverlayIndex =0 ; } res = FindNext(filestruct); } FindClose(filestruct); }