Einzelnen Beitrag anzeigen

marlem

Registriert seit: 10. Mär 2006
59 Beiträge
 
Delphi 6 Personal
 
#11

Re: Nodes verschieben im VirtualTreeView

  Alt 13. Mär 2006, 14:18
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?
gruß und danke

Markus
  Mit Zitat antworten Zitat