Sorry für den zweiten Virtualstringtree Thread von mir innerhalb von 2 Tagen
Ich möchte wenn ein Node angeklickt wird irgendwas machen und dazu wissen welcher Node selected ist. Also habe ich
procedure TMainform.VSTChange(Sender: TBaseVirtualTree; Node: PVirtualNode);
begin
aktiverKnoten := Node.Index;
end;
verwendet. Beim ersten mal Anklicken eines beliebigen Knotens bekomme ich den korrekten Index so wie es gedacht ist. Beim Anklicken eines anderen Knotens danach kommt eine Zugriffsverletzung an genau dieser Stelle. Wenn ich es mir mit dem Debugger anschaue haben dann alle Eigenschaften von Node "Wert nicht verfügbar". Was mach ich da falsch? Multiselect ist aus. Wenn ich den Index nicht abfrage kann ich natürlich rumklicken wie ich will ohne Fehler.
Und noch ne Kleinigkeit: Ich mache mit OnMeasureItem verschiedene Knotenhöhen. Das klappt auch wunderbar, nur der horizontale Scrollbar ist nicht lang genug. Ich kann also nicht zu den unteren Items scrollen. Wenn ich ganz nach unten scrolle macht er den Scrollbar auf einmal ein bisschen länger so dass ich mich nach und nach bis nach unten vorarbeiten kann. Die Knoten sind also alle da, er berechnet nur die Scrollbarlänge nicht richtig. Muss ich das selber machen? Wenn ja was ist die richtige Eigenschaft?
Vielen Dank!
Moritz