Der Thread war mir bekannt, ich habe ihn nur nicht bis zum Ende verfolgt. Ich habe jetzt eine Lösung gefunden:
Code:
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;
procedure TForm1.Image1Click(Sender: TObject);
var
ListItem: TListItem;
icon : TIcon;
begin
ListView.LargeImages := Imagelist;
Icon := TIcon.Create;
Icon.Handle := GetAssociatedIcon('.pas', false);
icon.Transparent := true;
ListView.Items.BeginUpdate;
ListItem := ListView.Items.Add;
ListItem.ImageIndex := ImageList.AddIcon(Icon);
// ListView.Items[0].ImageIndex := icon.Handle;
ListItem.Caption := 'joo';
ListView.Items.EndUpdate;
Icon.Free;
end;
Mfg
Salomon