Zitat:
Das mache ich doch gar nicht.
Ich habe es so verstanden.
Zitat:
Ich rufe SHGetFileInfo in InitNode auf. Das heißt es wird nur ein Icon geladen
Delphi-Quellcode:
SHGetFileInfo(PChar(FileName), FILE_ATTRIBUTE_NORMAL, Info, SizeOf(TSHFileInfo), SHGFI_USEFILEATTRIBUTES or SHGFI_SYSICONINDEX or SHGFI_ICON or SHGFI_SMALLICON);
MeinNode-generisch.MeinIconIndex := Info.iIcon; // jetzt weiß der Datensatz unter dem Node, welcher IconIndex das Icon braucht.
Zitat:
ich glaube die ImageList benutze ich nicht einmal.
jetzt weiß der Datensatz unter dem Node, welcher IconIndex das Icon braucht.
Das ist kein Index aus der ImageList sondern dein HIcon.
Und du lädst jedesmal ein neues Icon anstatt die ImageListe zu verwenden wo dann alle schon enthalten sind.
da ist so einiges faul.
Der richtige weg ist.
Die ImageList einmalig mit allen Icons zu füllen.
Und bei InitNode den entsprechenden index aus der ImageList (Hicon) der Node zuzuweisen.