Hi Leute,
ich verwende den Virtual Treeview als Navigationshilfe durch ein Mehrschichtiges Dokument.
Wird jetzt im Tree ein Node markiert, soll das ganze auch im Dokument entsprechend markiert werden.
Dazu verwende ich den Event Onchange des Virtual Trees.
In diesem Event wird der Node übergeben dessen Status sich ändert :
Delphi-Quellcode:
procedure TXyzForm.vst_DocExplorerChange(Sender: TBaseVirtualTree; Node: PVirtualNode);
Var pNodeData : PTTreeData;
begin
pNodeData := vst_DocExplorer.GetNodeData(Node);
if (Assigned(pNodeData)) and (Assigned(PNodeData^.Line)) then
pNodeData^.Line.Selected := vst_DocExplorer.Selected[Node];
end;
Das ganze funktioniert auch "wunderbar" das Event tritt immer ein wenn ein Node markiert wird.
Allerdings bekomme ich nicht mit wenn die Markierung/Selektierung aufgehoben wird.
Situation: Multiselect des Trees ist an, 2 Nodes sind markiert, es wird auf einen anderen Node geklickt.
Annahme: 3 x das Event OnChange 2 x für die vorher selektierten und 1 x für den neuen selektierten.
^^ Das ist aber leider nicht der Fall, weiß jemand warum ?
Oder bin ich im falschen Event ?
Nachtrag: Das Event tritt immer nur 2 x ein, egal ob vorher 2,4 oder 8 Einträge selektiert waren.
Greetz Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.