![]() |
Icons in TListView haben schwarzen Rand!
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe mit dem Code für das Herausfinden von Icons von Dateitypen Icons bzw. Items in meine Listview gespeichert. Die Icons dieser Items haben nun das gewünschte Icon, nur mit einer sehr unschönen schwarzen Umrandung. Der Code für die Listenerstellung:
Delphi-Quellcode:
Im Anhang ein Screenshot, wo die schwarzen Ränder zu sehen zu sehen sind
procedure TMainForm.MailForm_AttachFile(const FileName: String);
var Item: TListItem; Icon : TIcon; begin Item := TListItem.Create(lwMail_AttachmentList.Items); lwMail_AttachmentList.LargeImages := GlobalImageList; Icon := TIcon.Create; Icon.Handle := Properties.GetAssociatedIcon(ExtractFileExt(FileName), false); icon.Transparent := true; lwMail_AttachmentList.Items.BeginUpdate; Item := lwMail_AttachmentList.Items.Add; Item.ImageIndex := GlobalImageList.AddIcon(Icon); Item.Caption := ExtractFileName(FileName); lwMail_AttachmentList.Items.EndUpdate; Icon.Free; // Attachment liste hinzufügen Mail.Attachment.Add(Mail.CheckAttachment(FileName)); end; |
Re: Icons in TListView haben schwarzen Rand!
Hallo
Ich habe da keine lösung für aber das liegt dadran das das XP Icons sind und da TListView diesen XP Icon Typ nicht unterstüzt geht es auch nicht. Glaube auch nicht das es dafür eine lösung gibt. |
Re: Icons in TListView haben schwarzen Rand!
welche Auflösung haben die Icons?
|
Re: Icons in TListView haben schwarzen Rand!
Zitat:
Ich habe die Funktion mal ausprobiert und egal welche auflösung die Icons haben ob 16X16 oder 32x32. Der Rand ist immer da da das eigentlich eine art Schatten von XP sein sollte der nicht unterstützt wird. |
Re: Icons in TListView haben schwarzen Rand!
Ach so! Dann kann muss man es eben so lassen.
|
Re: Icons in TListView haben schwarzen Rand!
Versuch mal, das Icon transparent zu machen.
|
Re: Icons in TListView haben schwarzen Rand!
Zitat:
Bau einfach folgenden Code in dein FormCreate ein:
Delphi-Quellcode:
Danach kannst Du Programmicons mit Alphablending (schwarze Ränder) in deine ImageList einfügen und sie werden korrekt angezeigt.
var
SHFileInfo: TSHFileInfo; SysIcons: THandle; begin try SysIcons := SHGetFileInfo(PChar(copy(ParamStr(0), 1, 3)), 0, SHFileInfo, SizeOf(SHFileInfo), SHGFI_SYSICONINDEX or SHGFI_SMALLICON or SHGFI_ICON); finally DestroyIcon(SHFileInfo.hIcon); end; ImageList1.Handle := SysIcons; ImageList1.Clear; ... |
Re: Icons in TListView haben schwarzen Rand!
Ab welcher Delphi Version geht es denn? Bei D3 Pro kennt er TSHFileInfo nicht!
Was nun? Gruß, Timon |
Re: Icons in TListView haben schwarzen Rand!
Zitat:
|
Re: Icons in TListView haben schwarzen Rand!
@Mirage: Wusstest du schon, dass die DP eine Code-Library hat? ;)
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz