zu (1):
im Objektinspektor die Properties von "Header" öffnen. In den Header.Options hoVisible auf true setzen --> damit ist zunächst mal der Spalten-Modus aktiviert. Über Header.Columns erzeugt man dann die Spalten, ähnlich wie in einem DBGrid.
zu (2):
z.B. VirtualStringTree.Header.Columns[i], i = 0 bis VirtualStringTree.Header.Columns.Count-1
zu (3):
mit den Design-Möglichkeiten nicht. Evtl. geht es wenn man die Spalten definiert, aber über Header.Options nur dann einschaltet, wenn ein Node auf dem betreffenden Level ausgewählt ist.
zu (4):
natürlich, es gibt in dem Editor, mit dem dz unter (1) die Spalten erzeugt hast, ein Property "Text", bzw. zur Laufzeit
VirtualStringTree.Header.Columns[i].Text
Viel Erfolg
Werner