码迷,mamicode.com
首页 > 其他好文 > 详细

TreeView节点拖拉操作

时间:2014-07-29 21:37:23      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:style   http   color   io   for   div   ar   window   



bubuko.com,布布扣


//这个拖拽的感觉不对
    
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls;

type
  TForm1 = class(TForm)
    TreeView1: TTreeView;
    procedure TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

{鼠标左键按下,准备开始拖拉操作}
procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if ( Button = mbLeft ) and
     ( htOnItem in Treeview1.GetHitTestInfoAt( X, Y ) ) then
  begin
    Treeview1.BeginDrag( False );
  end;
end;

{鼠标拖拉操作}
procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
var
  Node : TTreeNode;
begin
  if Source = Treeview1 then
  begin
    Node := Treeview1.GetNodeAt( X, Y );
    if Node <> nil then
      Accept := true;
  end;
end;

{拖拉放下}
procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
  TempNode : TTreeNode;
  AttachMode : TNodeAttachMode;
begin
  if Treeview1.Selected = nil then
    Exit;
  AttachMode := naAddChild;
  Treeview1.Items.BeginUpdate;
  try
    TempNode := Treeview1.Items.AddChild( Treeview1.DropTarget,‘Temp‘ );
    try
      Treeview1.Selected.MoveTo( Treeview1.DropTarget, AttachMode );
    finally
      TempNode.Free;
    end;
  finally
    Treeview1.Items.EndUpdate;
  end;
end;

end.




附件列表

     

    TreeView节点拖拉操作,布布扣,bubuko.com

    TreeView节点拖拉操作

    标签:style   http   color   io   for   div   ar   window   

    原文地址:http://www.cnblogs.com/xe2011/p/3876296.html

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!