![]() |
Icons viel zu klein
Hallo,
ich benutze den unteren Code um mir in ner ListView das Icon eines bestimmten Dateityps anzeigen zu lassen. Klappt soweit auch ganz gut nur hab ihc das Problem, dass die Icons nur ganz winzig dargestellt werden. Achso und ich weis auch nicht welchen Parameter ich der function "GetAssociatedIcon" übergeben muss damit ich das Icon von einem Verzeichnis bekomme.
Delphi-Quellcode:
Gruß
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.Button1Click(Sender: TObject); var ListItem: TListItem; icon : TIcon; begin ListView1.ViewStyle:=vsIcon; ListView1.LargeImages := Imagelist1; Icon := TIcon.Create; Icon.Handle := GetAssociatedIcon('.wma', false); icon.Transparent := true; ListView1.Items.BeginUpdate; ListItem := ListView1.Items.Add; ListItem.ImageIndex := ImageList1.AddIcon(Icon); ListItem.Caption := 'Test.wma'; ListView1.Items.EndUpdate; Icon.Free; end; Sir K |
Re: Icons viel zu klein
Hi,
keine Ahnung, ob es hilft, aber ich nutze die Methode aus ComCtrl:
Delphi-Quellcode:
Damit kann man sich auch den Umweg über TIcon.Create sparen.
function TFRMDlgHtmlMail.CheckIcon(const AFileName: string): Integer;
var FileInfo : TSHFileInfo; begin Result := -1; if SHGetFileInfo(PChar(AFilename), 0, FileInfo, SizeOf (FileInfo), SHGFI_ICON or SHGFI_SMALLICON) <> 0 then begin ImageList_AddIcon(ImageList.Handle, FileInfo.hIcon); DestroyIcon(FileInfo.hIcon); Result := ImageList.Count -1; end; end; Hab nur Copy und Paste gemacht (nicht auf deine Namen angepasst... Frank |
Re: Icons viel zu klein
was kommt in der Zeile hin?
Delphi-Quellcode:
wenn ich daraus
ImageList_AddIcon(ImageList.Handle, FileInfo.hIcon);
Delphi-Quellcode:
mache bekomme ich die Meldung Undefinierter Bezeichner
Form1.ImageList1_AddIcon(ImageList.Handle, FileInfo.hIcon);
und bei der Abänderung hier
Delphi-Quellcode:
die Melduing "Inkompatible Datentypen 'TIcon' un 'Cardinal'.
For1.ImageList1.AddIcon(ImageList.Handle, FileInfo.hIcon);
Gruß Sir K |
Re: Icons viel zu klein
probier mal:
Delphi-Quellcode:
ImageList_AddIcon ist in ComCtrl definiert.
ImageList_AddIcon(ImageList1.Handle, FileInfo.hIcon);
Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:21 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 by Thomas Breitkreuz