Q&A

  • idftp로 리스트를 읽어와서 listview에다가 뿌려줄때 아이콘 나오게...
어떤분의 소스를 보니 이렇게 하는것 같던데 shellapi를 추가했지만
GShell_FolderIcon,GShell_FolderIconHandle... 여러가지가 정의되어있지않다고 에러가납니다.
어떻게 해야할지 정말 모르겠습니다.
또한 파일이름은 column(0)이아니고 column(1)에 나타나게했는데 아래와같이해도 되는지...

답변 부탁드립니다.


procedure TForm1.ListView1GetImageIndex(Sender: TObject; Item: TListItem);
var
  SHInfo: TSHFileInfo;
  LItemIDList: PItemIDList;
begin
   {...}
   // Folder & OpenFolder and Folder TypeName
   if SUCCEEDED(SHGetSpecialFolderLocation(0, CSIDL_DESKTOPDIRECTORY, LItemIDList)) then
   begin
     SHGetFileInfo(PChar(LItemIDList), 0, SHInfo,,$s:LF>       SizeOf(TSHFileInfo), SHGFI_PIDL or SHGFI_SYSICONINDEX or SHGFI_ICON or SHGFI_LARGEICON);


     GShell_FolderIcon := SHInfo.iIcon;
     GShell_FolderIconHandle := SHInfo.hIcon;

     // Open Folder
     //SHGetFileInfo(PChar(LItemIDList), 0, SHInfo,,$s:LF>       SizeOf(TSHFileInfo), SHGFI_PIDL or SHGFI_SYSICONINDEX or SHGFI_OPENICON or SHGFI_TYPENAME or SHGFI_ICON or SHGFI_LARGEICON);

     GShell_OpenFolderIcon := SHInfo.iIcon;
     GShell_FolderType := SHInfo.szTypeName;
     GShell_OpenFolderIconHandle := SHInfo.hIcon;
   end;
end;
0  COMMENTS