Статьи по Delphi (026)…

Как добовлять в ListView полноцветные иконки?

Как добовлять в ListView полноцветные иконки?

Code: Procedure TForm1.FormCreate(Sender: TObject); Var. SysIL : THandle; SysSIL : THandle; SFI : TSHFileInfo; Begin. SysImageList1 := TImageList.Create(self); With SysImageList1 do begin. Width := 16; Height := 16; SysSIL := SHGetFileInfo('', 0, SFI, SizeOf(SFI), SHGFI_SYSICONINDEX or SHGFI_SMALLICON); If SysSIL <> 0 then begin. SysImageList1.Handle := SysSIL; ShareImages := True; End; End; SysImageList2 := TImageList.Create(self); With SysImageList2 do begin. Width := 32; Height := 32; SysIL := SHGetFileInfo('', 0, SFI, SizeOf(SFI), SHGFI_SYSICONINDEX or SHGFI_LARGEICON); If SysIL <> 0 then begin. SysImageList2.Handle := SysIL; ShareImages := True; End; End; End; Function GetIconIndex(const AFile: string; Attrs: DWORD): integer; Var. SFI: TSHFileInfo; Begin. SHGetFileInfo(PChar(AFile), Attrs, SFI, SizeOf(TSHFileInfo), SHGFI_SYSICONINDEX or SHGFI_USEFILEATTRIBUTES); Result := SFI.iIcon; End; .... With ListView.Items.Add do begin. Caption := FName; ImageIndex := GetIconIndex(Caption, FILE_ATTRIBUTE_NORMAL); SubItems.Add(FSize); SubItems.Add(FType); SubItems.Add(FDateTime); End;

Взято из http://forum.sources.ru.

Автор: alexanderm.

©Drkb::00634.