zoukankan      html  css  js  c++  java
  • TreeView节点拖拉操作1

     
    TreeView节点拖拉操作1

    //事先设置 TreeView1.DragMode= dmAutomatic;
     
    unit Unit1;

    interface

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

    type
      TForm1 = class(TForm)
        TreeView1: TTreeView;
        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} 
    //var
    //      node:TTreeNode;
    procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    begin 
    //   node := TreeView1.GetNodeAt(X, Y);
    //    Caption:=node.Text;


        Accept := Source = Sender;
        if not Accept then exit;
    end;

    procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
    begin
      with TreeView1 do 
      begin
        if (Sender <> Source)  then   exit;
        if (DropTarget = nil)   then   exit;
        if (DropTarget = Selected) then   exit;
        Selected.MoveTo(DropTarget,naAddChildFirst);
      end;
    end;


    end.
     
     

     
     
      TNodeState = (nsCut, nsDropHilited, nsFocused, nsSelected, nsExpanded);
      TNodeAttachMode = (naAdd, naAddFirst, naAddChild, naAddChildFirst, naInsert);
      TAddMode = (taAddFirst, taAdd, taInsert);
     
    拖拽时可以看见拖拽的图标如果有的话




    附件列表

    • 相关阅读:
      pip下载速度慢&如何使用国内源提高速度
      pip更新安装删除包
      如何让VSCode同时打开(显示)多个项目
      JavaScript计算器
      在Ubuntu下搭建Android开发环境(AndroidStudio)
      在Windows中安装vim
      硬盘分区教程
      如何在Windows系统下使用you-get下载网上的媒体资源
      mencoder及ffmpeg的基本命令
      笔记本如何不按Fn键就能实现F键的功能
    • 原文地址:https://www.cnblogs.com/xe2011/p/3876311.html
    Copyright © 2011-2022 走看看