Oder einfach den VirtualTreeView benutzen. Der bringt schon sehr viele Funktionen von Haus aus mit und man kann trotzdem noch alles steuern/verbieten oder sonstwas. Noch dazu unterstützt er
OLE Drag&Drop und normales
VCL Drag&Drop. Und den Aufklappmechanismus hat der Tree meines Wissens nach auch. (Kann man glaube ich sogar einstellen, wie der reagieren soll)