Есть SysListView32, который я заполняю определенными файловыми расширениями, например: .txt, .doc и т.д. Как мне прикрутить функцию, представленную ниже?
Код | function GetAssociatedIcon(const AExtension: string; ASmall: Boolean): HIcon; var Info: TSHFileInfo; Flags: Cardinal; begin if ASmall then Flags := SHGFI_ICON or SHGFI_SMALLICON or SHGFI_USEFILEATTRIBUTES else Flags := SHGFI_ICON or SHGFI_LARGEICON or SHGFI_USEFILEATTRIBUTES; SHGetFileInfo(PChar(AExtension), FILE_ATTRIBUTE_NORMAL, Info, SizeOf(TSHFileInfo), Flags); Result := Info.hIcon; end;
|
К примеру, если я ставлю Bitmap'ы из ресурсов, то это будет так:
Код | //ставим Bitmap'ы (100) из ресурсов imgs:=ImageList_LoadImage(hInstance,PChar('100'),16,5,CLR_NONE, IMAGE_BITMAP, LR_DEFAULTCOLOR or LR_LOADTRANSPARENT); //заполняем ImageList ListView_SetImageList(hwndList,imgs,LVSIL_SMALL); //далее вытаскиваем по индексу TLVITEM.iImage:=0
|
Но здесь я ставлю иконки, которые заранее нарисованы, а хотелось бы как-то прикрутить вышеуказанную функцию, которая устанавливает ассоциированные значки. |