Einzelnen Beitrag anzeigen

thmfrnk

Registriert seit: 24. Nov 2004
5 Beiträge
 
#1

Problem mit VirtualTreeView und Delphi XE2

  Alt 13. Apr 2012, 18:38
Moinsen,

ich hab mein Projekt vor kurzem nun zu XE2 portiert, nach einigen schwierigkeiten mit Komponenten funktioniert nun alles. Nun ist mir aufgefallen das das Drag'n'Drop der VirtualTreeList nicht mehr funktioniert.. Der Node den ich verschiebe verschindet danach einfach...

hier der wichtige Codeteil:

Delphi-Quellcode:
procedure TfrmMain.treeDragDrop(Sender: TBaseVirtualTree; Source: TObject;
  DataObject: IDataObject; Formats: TFormatArray; Shift: TShiftState;
  Pt: TPoint; var Effect: Integer; Mode: TDropMode);
var
  n: PVirtualnode;
begin
  if assigned(DragNode) then
   begin
    n := Tree.GetNodeAt(pt.X, pt.Y);
    if N<>nil then
     begin
       Tree.MoveTo(DragNode, N, TVTNodeattachMode.amAddChildLast, false);
       UpdateKinds;
     end;
   end;
end;

procedure TfrmMain.treeDragOver(Sender: TBaseVirtualTree; Source: TObject;
  Shift: TShiftState; State: TDragState; Pt: TPoint; Mode: TDropMode;
  var Effect: Integer; var Accept: Boolean);
var
  n: PVirtualNode;
begin
   Accept := false;
   if DragNode <> SceneNode then
    if DragNode <> FixturesNode then
     if DragNode <> ProjectNode then
       if Source is TVirtualStringTree then
         begin
          n := tree.GetNodeAt(pt.X, pt.Y);
          if n<>dragNode then
           if IsFixtureBuilder then
             Accept := true
              else
               begin
                if not Tree.HasAsParent(n, FixturesNode) then
                 if n <> FixturesNode then
                   Accept := true;
               end;
         end;
end;
  Mit Zitat antworten Zitat