如何将一个treeview中某个结点中的文字内容拖到一个memo中?

解决方案 »

  1.   

    TreeView1.DragMode := dmAutomatic;procedure TForm1.TreeView1StartDrag(Sender: TObject;
      var DragObject: TDragObject);
    begin
      if TreeView1.Selected <> nil then begin
        DragObject := TDragObject.Create;
        DragObject.DragHandle :=Memo1.Handle;
      end;
    end;procedure TForm1.Memo1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    begin
      Accept := IsDragObject(Source);
    end;procedure TForm1.Memo1DragDrop(Sender, Source: TObject; X, Y: Integer);
    begin
      Memo1.Lines.Add(TreeView1.Selected.Text);
    end;
    大概就这样
      

  2.   

    先设TreeView1.DragMode 为 dmAutomatic;procedure TForm1.Memo1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    begin
      Accept := Source = TreeView1;
    end;procedure TForm1.Memo1DragDrop(Sender, Source: TObject; X, Y: Integer);
    begin
      if TTreeView(Source).Selected <> nil then
        Memo1.Lines.Append(TTreeView(Source).Selected.Text);
    end;