一个拖拽内容到Word的例子

这是一个拖拽内容到Word中的例子。如视频所示:

从程序中的Tree这拖内容到Word中。然后 在拖拽完成后事件中,记录日志。

拖拽

代码如下:

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    TreeView1: TTreeView;
    GroupBox1: TGroupBox;
    Memo1: TMemo;
    DropTextSource1: TDropTextSource;
    procedure FormCreate(Sender: TObject);
    procedure TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure DropTextSource1AfterDrop(Sender: TObject; DragResult: TDragResult;
      Optimized: Boolean);
  private
    DNode: TTreeNode;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.DropTextSource1AfterDrop(Sender: TObject;
  DragResult: TDragResult; Optimized: Boolean);
begin
if DragResult=drDropCopy then
  Memo1.Lines.Add('AfterDrop: ' + trim(DropTextSource1.Text));

end;

procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
  n: TTreeNode;
begin
  TreeView1.Items.BeginUpdate();
  n := TreeView1.Items.AddChild(nil, '月巴月巴');
  for i := 1 to 100 do
    TreeView1.Items.AddChild(n, '月巴月巴' + inttostr(i));
  TreeView1.Items.EndUpdate();
  n.Expanded := true;
  top := 0;
  left := screen.PrimaryMonitor.Width - Width;
end;

procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  n: TTreeNode;
  s: UnicodeString;
begin
  n := TreeView1.GetNodeAt(X, Y);
  if n <> nil then
  begin
    DNode := n;
    TreeView1.Select(DNode);
    s := DNode.Text + '说: 啥' ;
    DropTextSource1.UnicodeText :=s;
    DropTextSource1.Text :=s;
    DropTextSource1.Execute();
  end;

end;

end.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月巴月巴白勺合鸟月半

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值