Darf ich dir erst mal den Tipp geben: Nimm nicht "OnGetSelectedIndex".
Delphi-Hilfe (F1) hat folgendes geschrieben: |
Beschreibung
In einer Ereignisbehandlungsroutine für OnGetSelectedIndex kann vor der Anzeige eines Knotens der zugehörige Bildindex geändert werden. |
Zugegeben: es heißt "kann" und nicht "darf nur". Ich glaube, du willst so eine Art Manager machen, d.h. bei der Auswahl eines Eintrags im Baum soll die entsprechende Datei im Memo angezeigt werden?! Dann benutze "OnChange", das geht genauso und ist IMHO besser dafür geeignet.
Außerdem -aber das hängt von deinem Kenntnisstand in Delphi ab!- wäre vielleicht ein Typecasting auch nützlicher. Die Idee, Dateien abhängig vom ImageIndex zu laden ist sehr bequem - hab´ ich auch schon gemacht.
Problematisch wird es aber, wenn du z.B. neue Knotenelemente und neue Icons einfügst, die die Liste evtl. verschieben. Deine Abfrage nach dem ImageIndex 10 führt dann evtl. ins Leere, bzw. auf das falsche Bild.
Bei einem Typecasting bist du davon unabhängig, es setzt allerdings ein wenig Sorgfalt voraus.