Moin, Moin Zusammen!
Die Frage von Calculon ist berechtigt! Mit der von mir vorgestellten Lösung werden die Icons nicht gesichert. Abhilfe ist aber sehr leicht möglich, wenn Lesen/Schreiben des Streams geändert wird:
Delphi-Quellcode:
// TV.LoadFromStream(MS) // load nodes, change to:
MS.ReadComponent(TV) // load nodes AND icons
// bzw.
// TV.SaveToStream(MS); // save nodes, change to:
MS.WriteComponent(TV); // save nodes AND icons
Alternativ könnte man natürlich auch die Zustände von ImageIndex, StateIndex und SelectedIndex mit dem gleichen Verfahren behandeln mit dem im Beispiel der NodeStatus gesichert/wiederhergestellt wird.
// edit
Zitat:
Der TreeView wird zuerst über eine Datenbank dynamisch gefüllt.
Eigentlich ist das dann doch alles unnötig kompliziert, oder? Einfacher ist es wohl, den NodeStatus ebenfalls in der Datenbank zu führen und unmittelbar nach dem Füllen der TreeViews aus der Datenbank zu setzen?!