Q&A

  • ListView에 아이콘 넣기
안녕하세요.
최용일님의 글을 보고 ListView에 아이콘 넣는걸 해봤는데 글씨만 써지고
아이콘은 나타나지가 않습니다.
폼에 ListView 박스 하나 올려 놓고 테스트를 했습니다.
빠진게 있나요 ?
감사합니다..(_ _)
procedure TForm1.Button1Click(Sender: TObject);
var
  Flags: UINT;
  FileInfo: TSHFileInfo;
  Item: TListItem;
  PIDL: PItemIDList;
begin
  ListView.Items.Clear;

  SHGetSpecialFolderLocation(0, CSIDL_DESKTOPDIRECTORY, PIDL);

  Flags := SHGFI_PIDL or SHGFI_SYSICONINDEX;
  SHGetFileInfo(PChar(PIDL), 0, FileInfo, SizeOf(FileInfo), Flags);
  Item := ListView.Items.Add;
  Item.Caption := 'Closed Folder';
  Item.ImageIndex := FileInfo.iIcon;

  Flags := SHGFI_PIDL or SHGFI_SYSICONINDEX or SHGFI_OPENICON;
  SHGetFileInfo(PChar(PIDL), 0, FileInfo, SizeOf(FileInfo), Flags);
  Item := ListView.Items.Add;
  Item.Caption := 'Opened Folder';
  Item.ImageIndex := FileInfo.iIcon;
end;
1  COMMENTS
  • Profile
    최용일 2005.05.18 02:37
    안녕하세요. 최용일입니다.

    아래코드는 ListView의 아이템에 시스템아이콘리스트의 인덱스를 설정하는 부분입니다.

    리스트뷰에 아이콘이 보일려면 TImageList와 리스트뷰가 연결되어 있어야 하고, 이미지리스트에 시스템 아이콘들이 들어가 있어야 됩니다.

    제글 다시 찾아보시면 시스템아이콘리스트 구하는 글이 있을겁니다. 그 글보시고 시스템아이콘리스트 구하시고 이미지리스트와 리스트뷰를 연결하세요...

    ^^ 항상 즐코하세요...