Einzelnen Beitrag anzeigen

Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#1

Virtual Treeview MultiSelect/Onchange Event Problem

  Alt 3. Jul 2009, 15:13
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.
  Mit Zitat antworten Zitat