zoukankan      html  css  js  c++  java
  • Delphi的TListView控件拖放选定行操作

    http://www.tansoo.cn/?p=401
    
    
    Delphi的TListView控件拖放选定行操作的例子,效果图如下:TListView控件拖动选定行到指定位置
    
    具体实现步骤:
    
    一、新建一个Delphi工程,在窗体上放置一个TListView控件(在Win32面板),设置ListView1的属性:
    
    ViewStyle设置为vsReport
    DragMode设置为dmAutomatic
    RowSelect设置为True
    
    二、添加ListView1的OnDragOver事件的响应代码:
    
    procedure TForm1.ListView1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    begin
      Accept := True;
    end;
    
    三、添加ListView1的OnDragDrop事件的响应代码:
    
    procedure TForm1.ListView1DragDrop(Sender, Source: TObject; X, Y: Integer);
    var
      aItem, bItem: TListItem;
    begin
      if(Source is TListView) then
      begin
        bItem := (Source as TListView).Selected;
        aItem:=(Source as TListView).Items.Insert
                ((Source as TListView).Items.IndexOf((Source as TListView).GetItemAt(X,Y)));
        aItem.Assign(bItem);
        (Source as TListView).Selected.Delete;
        aItem.Selected := True;
      end;
    end;
    
    最后,编译运行就可以了(本例在Delphi7测试成功)。

    如果先select多个,然后再拖动呢?

  • 相关阅读:
    SQL Server 数据库基础编程
    Spring整合DWR comet 实现无刷新 多人聊天室
    SQL Server 数据库安全
    【MongoDB for Java】Java操作MongoDB
    SQL Server 触发器
    使用Dom4j操作XML
    BlazeDS 整合 Flex HelloWorld 示例
    SQL Server 索引和视图
    JDOM 操作XML
    SQL Server 数据库设计
  • 原文地址:https://www.cnblogs.com/CodeGear/p/5222257.html
Copyright © 2011-2022 走看看