Einzelnen Beitrag anzeigen

tomkupitz

Registriert seit: 26. Jan 2011
323 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: ListView Icon Transparenz Problem

  Alt 22. Okt 2018, 08:56
Code:
var ImageList: TImageList; //Variable

...

var sfi: TShFileInfo;

ImageList:=TImageList.Create(nil); //erstellen,...
ImageList.Handle:=SHGetFileInfo(PChar(GetWinDir), 0, sfi, sizeof(TShFileInfo), SHGFI_SYSICONINDEX or SHGFI_SMALLICON); //Handle zuweisen,...
ImageList.ShareImages:=True; //System-Icons nur nutzen, am Ende aber nicht freigeben,...
ImageList.BkColor:=clNone;
ImageList.BlendColor:=clNone;

...

ListView1.SmallImages:=ImageList; //ListView sagen diese ImageList zu benutzen

...

var sfi: TShFileInfo;

SHGetFileInfo(PChar(FileName), 0, sfi, sizeof(TSHFileInfo), SHGFI_SYSICONINDEX or SHGFI_SMALLICON); //IconIndex holen

with ListView1.Items.Add do
begin
  Caption:=ExtractFileName(FileName);
  ...
  ImageIndex:=sfi.iIcon; //IconIndex zuweisen (sfi.iIcon ist Index kein Handle), du sagst ihm, das er Icon Nummer x aus seinen SmallImages also der SystemImageList (ImageList) dem Item zuweisen soll
end;

...

ImageList.Free; //freigeben (aber nur Objektinstanz, Icons nicht)

Geändert von tomkupitz (22. Okt 2018 um 08:59 Uhr)
  Mit Zitat antworten Zitat