Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   VirtualStringTree - Icon zu Dateinamen anzeigen besser möglich? (https://www.delphipraxis.net/192142-virtualstringtree-icon-zu-dateinamen-anzeigen-besser-moeglich.html)

a.def 22. Mär 2017 19:54

VirtualStringTree - Icon zu Dateinamen anzeigen besser möglich?
 
Schon seit einer Ewigkeit lasse ich mir in einer VirtualStringTree eine Dateiliste mit den dazugehören Icons folgendermaßen anzeigen

Delphi-Quellcode:
procedure TForm8.VSTGetImageIndex(Sender: TBaseVirtualTree; Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex; var Ghosted: Boolean; var ImageIndex: Integer);
var
 Info: TSHFileInfo;
 sFN: string;
begin
 // ...
 sFN := 'C:\TestDatei.txt';
 SHGetFileInfo(PChar(sFN), FILE_ATTRIBUTE_NORMAL, Info, SizeOf(TSHFileInfo), SHGFI_SYSICONINDEX or SHGFI_SMALLICON);
 ImageIndex := Info.iIcon;
end;
Das klappt auch wunderbar. Aber ist das irgendwie anders und besser möglich?

Hobbycoder 22. Mär 2017 20:20

AW: VirtualStringTree - Icon zu Dateinamen anzeigen besser möglich?
 
Was möchtest du denn daran noch "besser" machen?

Man könnte sich irgendwo den Index für die Icons zu Dateiendungen merken, die schon mal ermittelt wurden.

Gruß Hobbycoder

a.def 22. Mär 2017 20:26

AW: VirtualStringTree - Icon zu Dateinamen anzeigen besser möglich?
 
Zitat:

Man könnte sich irgendwo den Index für die Icons zu Dateiendungen merken, die schon mal ermittelt wurden.
Genau das war auch meine Idee aber ich weiß nicht genau wo.

All meine Daten für das StringTree liegen in einem eigenem class-Object dafür. Vielleicht da drin?

Ghostwalker 23. Mär 2017 02:44

AW: VirtualStringTree - Icon zu Dateinamen anzeigen besser möglich?
 
Naja, wenn du eh schon eine eigene Klasse pro Endung hast, würde sich das geradezu anbieten, diese dort zu speichern :)

jaenicke 23. Mär 2017 04:29

AW: VirtualStringTree - Icon zu Dateinamen anzeigen besser möglich?
 
Ich habe dafür ein TDictionary in der Datenklasse verwendet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:00 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