同上

解决方案 »

  1.   

    笨办法:
    先Add,copy第一条的各个属性
    然后delete第一条
      

  2.   

    已经解决。在这里有
    http://www.delphibbs.com/keylife/iblog_show.asp?xid=15773
    //这是个通用的过程
    procedure ListViewItemMoveUpDown(lv : TListView; Item : TListItem; MoveUp, SetFocus : Boolean);
    var
      DestItem : TListItem;
    begin
      if (Item = nil) or
         ((Item.Index - 1 < 0) and MoveUp) or
         ((Item.Index + 1 >= lv.Items.Count) and (not MoveUp))
        then Exit;
      lv.Items.BeginUpdate;
      try
        if MoveUp then
          DestItem := lv.Items.Insert(Item.Index - 1)
        else
          DestItem := lv.Items.Insert(Item.Index + 2);
        DestItem.Assign(Item);
        lv.Selected := DestItem;
        Item.Free;
      finally
        lv.Items.EndUpdate;
      end;
      if SetFocus then lv.SetFocus;
      DestItem.MakeVisible(False);
    end;//此为调用过程,可以任意指定要移动的Item,下面是当前(Selected)Item
      ListViewItemMoveUpDown(ListView1, ListView1.Selected, True, True);//上移
      ListViewItemMoveUpDown(ListView1, ListView1.Selected, False, True);//下移