您现在的位置:首页 >> VCL >> VCL >> 内容

Delphi中怎样在listbox中拖拽可以改变所显示内容的上下顺序

时间:2011/9/3 16:25:14 点击:

  核心提示:varDragFile,popfile//拖动的文件名procedureTfrmMain.lbxMyListClick(Sender:TObject); begin//单击时确定要拖动的文件名 ifT...
var   
    
  DragFile,popfile:String;//拖动的文件名   
    
  procedure   TfrmMain.lbxMyListClick(Sender:   TObject);   
  begin   //单击时确定要拖动的文件名   
      if   TListbox(Sender).ItemIndex   <>-1   then   
          Dragfile:=TListbox(Sender).Items[TListbox(Sender).itemIndex]   
      else   
          Dragfile:=’’;   
  end;   
    
  procedure   TfrmMain.lbxMyListDragOver(Sender,   Source:   TObject;   X,   Y:   Integer;   
      State:   TDragState;   var   Accept:   Boolean);   
  var   
      i,j:integer;   
      FileName:string;   
      MyPoint:TPoint;   
  begin   //在列表框中拖动项目改变其位置   
      if   DragFile<>’’   then   
      begin   
          MyPoint.X:=X;     MyPoint.Y:=Y;   
    
          i:=TListbox(Sender).ItemAtPos(MyPoint,True);//获取要拖放到的位置   
          j:=   TListbox(Sender).Items.IndexOf(DragFile);   
          if   (i<>-1)   and   (j<>-1)   and   (i<>j)   then   
          begin   
                  TListbox(Sender).Items.Move(j,i);   
                  TListbox(Sender).Selected[i]:=True;   
          end;   
      end;   
  end;   

作者:网络 来源:转载
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
本类推荐
  • 没有
本类固顶
  • 没有
  • 盒子文章(www.2ccc.com) © 2024 版权所有 All Rights Reserved.
  • 沪ICP备05001939号