如题,如果分不够可以开贴再加,谢谢!

解决方案 »

  1.   

    procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
    var
      Node: TTreeNode;
    begin
      with (Sender as TTreeView) do
        if GetNodeAt(X, Y) <> nil then
        begin
          Node := GetNodeAt(X, Y);
          ShowMessage('移动到“' + Node.Text + '”!');
        end;
    end;procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    begin
      Accept := Source is TListView;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      TreeView1.DragMode := dmAutomatic;
      ListView1.DragMode := dmAutomatic;
    end;
      

  2.   

    给你一个例子,意思和操作一样的
    //拖动ChickListbox的Items里面的值到另外的checkListbox里
    //先设置: CheckListBox1.DragMode := dmAutomatic
    procedure TForm1.CheckListBox1DragOver(Sender, Source: TObject; X,
      Y: Integer; State: TDragState; var Accept: Boolean);
    begin
      Accept := true;
    end;procedure TForm1.CheckListBox1DragDrop(Sender, Source: TObject; X,
      Y: Integer);
    var
      p: Tpoint;
      Index: Integer;
    begin
      p.X := X;
      p.Y := Y;
      Index := CheckListBox1.ItemAtPos(p, False);
      CheckListBox1.Items[index] := TCheckListBox(source).Items.Strings[TCheckListBox(source).ItemIndex];
    end;procedure TForm1.CheckListBox2DragDrop(Sender, Source: TObject; X,
      Y: Integer);
    var
      p: Tpoint;
      Index: Integer;
    begin
      p.X := X;
      p.Y := Y;
      Index := CheckListBox1.ItemAtPos(p, False);
      CheckListBox2.Items[index] := TCheckListBox(source).Items.Strings[TCheckListBox(source).ItemIndex];
    end;procedure TForm1.CheckListBox2DragOver(Sender, Source: TObject; X,
      Y: Integer; State: TDragState; var Accept: Boolean);
    begin
      Accept := true;
    end;
      

  3.   

    我是要从同在一个FORM里的listview拖放到treeview,能给个这样的例子吗?谢谢了!