Hallo, ich werde irgendwie alleine nicht fündig,
ich habe eine Listview und hole/fülle mir so die Icons:
Delphi-Quellcode:
var
FileInfo: SHFILEINFOW;
Icon: TIcon;
Files: TStringList;
...
with Processes.Items.Add() do
begin
SHGetFileInfoW(PWideChar(Files[i]), 0, FileInfo, SizeOf(FileInfo), SHGFI_ICON or SHGFI_SMALLICON);
Icon.Handle := FileInfo.hIcon;
ImageIndex := FileIcons.AddIcon(Icon);
DestroyIcon(FileInfo.hIcon);
end;
das funktioniert prinzipiell schon mal so wie gedacht.
Aber viele Icons zeigen Schwarz an obwohl dort eigentlich transparenz herrschen sollte.
Kann man das irgendwie beheben?
Hier die
DFM Daten:
Code:
object Processes: TListView
AlignWithMargins = True
Left = 3
Top = 3
Width = 466
Height = 195
Align = alClient
Columns = <
item
AutoSize = True
Caption = 'Filename'
end
item
Caption = 'PID'
MaxWidth = 70
MinWidth = 50
end
item
Caption = 'Started'
MaxWidth = 130
MinWidth = 130
Width = 130
end>
ReadOnly = True
RowSelect = True
SmallImages = FileIcons
TabOrder = 0
ViewStyle = vsReport
end
end
object FileIcons: TImageList
DrawingStyle = dsTransparent
ImageType = itMask
Left = 24
Top = 48
end
/edit
Post überarbeitet und auf eine Frage beschränkt.
Hier noch mal die Frage:
Wie kann ich Icons in ListView darstellen so das die schwarze Farbe Transparent ist?