Listview -> ICons aus ImageList oder nach Dateityp
Hallo,
ich habe ein paar Probleme in eine Listview Icons einzubinden. Siehe Code:
Code:
Dann habe ich noch eine Frage. Ich bekomme von meinem Server eine Liste allerdateien eines Verzeichnisses. Diese Liste beinhaltet den Dateinamen mit seiner Extension.
with ListView do
begin ListItem := ListView.Items.Add; Listitem.Caption := 'joo'; ListItem.ImageIndex := //wie kann ich hier die imagelist angeben?; end; end; Gibt es eine Möglichkeit anhand des Dateitypes auf sein Icon zu schließen und dieses dann in der Listview anzuzeigen? Also so, das ein Word Document in der List ein "Word Icon" hat un darunter der Name des Dokumentes steht. Mfg Salomon |
Such mal hier im Forum unter Sonstiges ...Vor ein paar Wochen, bzw. Monaten haben wir das Thema "Icons von Laufwerken und Dateitypen" schon mal durchgekaut - und da ist auch ein ListView-Beispiel beigewesen.
Ich weiß das noch, weil ich Code von sakura verwendet habe um das zu demonstrieren. Aber es ist nicht meine Aufgabe, dir diese Themen herauszusuchen. @Mods, Meister, Admins: Vielleicht wäre es an der Zeit, den Leuten vor dem Posten einen Hinweis auf die schon vorhandenen Beiträge und die Suchfunktion zu geben? Wenn also jemand den Link "Neues Thema" benutzt, dann sieht er bspw. die Eingabeseite - aber da könnte noch ein Text stehen wie Vor dem Posten bitte "Suchen", ob dieses Thema möglicherweise bereits vorhanden ist! |
Der Thread war mir bekannt, ich habe ihn nur nicht bis zum Ende verfolgt. Ich habe jetzt eine Lösung gefunden:
Code:
Mfg
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; Salomon |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz