![]() |
Icon in ImageList laden & in einer Listview anzeigen las
Hi!
Ich habe folgendes Problem: Ich habe eine Funktion, die ein Icon einer Datei in ein Bitmap ausliest. Das verarbeite ich so:
Code:
Wenn ich nun die Imagelist (in die das Icon reingeladen wird) mit der ListView verknüpfe (wo das Icon schließlich angezeigt werden soll), wird dies nicht transparent, sondern mit einem schwarzen Hintergrund angezeigt. Woran liegt das und wie kann ich das transparent anzeigen lassen?
if (SpieleDialog.Execute) and (SpieleDialog.FileName <> '') then
begin SpielePfad.Text := SpieleDialog.FileName; Dummy := 1; Icon := TIcon.Create; Icon.Handle := ExtractAssociatedIcon(Handle, PChar(SpieleDialog.FileName), Dummy); SpieleIcon.Canvas.Draw(0, 0, Icon); SpieleList.AddIcon(Icon); Icon.Free; end; Gruß Yheeky |
Re: Icon in ImageList laden & in einer Listview anzeigen
Hat keiner eine Idee?
|
Re: Icon in ImageList laden & in einer Listview anzeigen
Hi,
versuch das im FormCreate Deiner Form ausführen:
Delphi-Quellcode:
Zumindest hat es bei mir so geklappt :gruebel:
var
SHFileInfo: TSHFileInfo; SysIcons : THandle; begin // SpieleIcon := TImageList.Create(Self); SpieleIcon.Masked := False; 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; SpieleIcon.Handle := SysIcons; SpieleIcon.ShareImages := True; mfG mirage228 |
Re: Icon in ImageList laden & in einer Listview anzeigen
Mhmm, der Code verändert nur das Aussehen meines OpenDialogs. Ansonsten nicht viel. Dürfte doch eigentlich nicht so schwer sein, ein Icon transparent in einer ListView dazustellen oder? Vielleicht gibt´s da ja noch ne andere Möglichkeit. Ich will das Icon in einem TImage anzeigen und in eine TListView laden, mehr eigentlich nicht.
Gruß Yheeky |
Re: Icon in ImageList laden & in einer Listview anzeigen
Was hast du denn in der ImageList eingestellt?
|
Re: Icon in ImageList laden & in einer Listview anzeigen
Habe die Breite und Höhe auf 32 Pixel verändert und hab den Drawing Style auf dsTransparent gestellt. Das war´s...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:07 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