TreeView1 & TreeView2 + Drag and Drop



  • Hallo Leute,
    ich tuh mich gerade etwas schwer bei einem Drag and Drop zwischen TV2 und TV1.
    Das Item soll in TV1 eingefügt werden, jedoch soll auch die Ebene erkannt werden wo das Item reinsoll

    So bekommt ich das Item zwar in das TreeView1, allerdings wird es immer nur unten angehängt, da ich ja nicht auf Childs etc achte.

    TTreeNode *node = TreeView2->GetNodeAt(X,Y);
      TreeView1->Items->Add(node,TreeView2->Selected->Text);
    

    Und so macht er mir durcheinander. Wo liegt mein Fehler?

    TTreeNode *node = TreeView2->GetNodeAt(X,Y);
      THitTests hit = TreeView1->GetHitTestInfoAt(X, Y);
      if (hit.Contains(htOnItem) || hit.Contains(htOnIcon))
       TreeView1->Items->AddChild(node,TreeView2->Selected->Text);
      else if (hit.Contains(htNowhere) || hit.Contains(htOnIndent))
       TreeView1->Items->Add(node,TreeView2->Selected->Text);
    


  • Du kommst ein wenig mit den TreeViews durcheinander:
    bei TreeView->Items->Add(node) bzw. Child(node) muß node auch Teil desselben TreeViews sein.
    Außerdem mußt du beachten für welchen TreeView die Koordinaten X und Y gelten.


Log in to reply