ich habe getrickst:
Delphi-Quellcode:
procedure TFormMain.TreeViewBaumClick(Sender: TObject);
var
Node: PVirtualNode;
begin
Node:=TreeViewBaum.FocusedNode;
SourceNode := Node;
end;
procedure TFormMain.TreeViewBaumDragOver(Sender: TBaseVirtualTree;
Source: TObject; Shift: TShiftState; State: TDragState; Pt: TPoint;
Mode: TDropMode; var Effect: Integer; var Accept: Boolean);
begin
Accept := true;
end;
procedure TFormMain.TreeViewBaumDragDrop(Sender: TBaseVirtualTree;
Source: TObject; DataObject: IDataObject; Formats: TFormatArray;
Shift: TShiftState; Pt: TPoint; var Effect: Integer; Mode: TDropMode);
var
Data: PTreeData;
Dataziel : TTreeData;
begin
Data:=TreeViewBaum.GetNodeData(sourcenode);
//Mit dem Trick kann man PTreedata in TTreedata konvertieren
Dataziel.FCaption := Data.FCaption;
//Zuletzt markierter Knoten an Mausposition hinzufügen
AddNode(TreeViewBaum,Sender.DropTargetNode,Dataziel);
TreeViewBaum.DeleteNode(SourceNode);
TreeViewBaum.Invalidate;
end;
so funktioniert es!
ein problem habe ich noch.
der "verschobene" node ist nicht sofort "anklickbar"!
weiß jemand warum?
habe noch ein problem:
die unterknoten werden nicht mit verschoben.
hat jemand ne idee wie man das hinbekommt?