如图,如何把选中行用鼠标往下拖动?

解决方案 »

  1.   

    用MOUSE 拖动功能.
    在BEGIN时,把ITEM这条给复制出来.MOVE,的时候,可以放开,不改变,或改变.(这里只是加个判断)END的时候,就是接收的时候,把ITEM这个复制的ITEM插入,然后把原来ITEM这条删除.
      

  2.   

    设置拖动属性
    拖动时记录选中item和目标item,然后赋值就可以了
      

  3.   

    拖动时记录选中item和目标item//////
      

  4.   

    看不到图。拖动这种操作,程序里叫drag,专门定义了实现方法。要实现拖动有两种办法,自动和人工。一般在不同的控件间拖动用自动拖动很容易就实现了,方法是把控件的拖动属性设为自动,然后在控件的拖动事件里写代码。象这样在一个控件内部拖动,不知道有高人能否给出简便易行的办法,因为如果自动的话,无法用treeview的属性来判断你的目标落在哪一行,必须判断鼠标的位置
      

  5.   

    楼主的图挂了,给你一个listbox拖动的例子,自己改改
    //同一窗口拖动
    procedure TForm2.suiListBox1DragOver(Sender, Source: TObject; X,
      Y: Integer; State: TDragState; var Accept: Boolean);
    begin
          Index:=TsuiListBox(Source).ItemIndex;
          suiListBox1.OnEndDrag:=suiListBox1EndDrag;
          if   State<>dsDragMove   then
              Accept:=false;
    end;
    procedure TForm2.suiListBox1EndDrag(Sender, Target: TObject; X,
      Y: Integer);
      var   Tmp:   string;
    begin
          Tmp:=suiListBox1.Items[suiListBox1.ItemIndex];
          suiListBox1.Items[suiListBox1.ItemIndex]:=suiListBox1.Items[Index];
          suiListBox1.Items[Index]:=Tmp;
          suiListBox1.OnEndDrag:=nil;      
    end;