不想一个一个单元格的写
我的代码如下:
var
  itm:Tlistitem;
begin
  itm:=Lvw1.Selected;
  Lvw2.Items.AddItem(itm);
  Lvw1.Items.Delete(itm.Index);运行时出错,怎么办?

解决方案 »

  1.   

    Lvw2.Items.assign(itm);
    这样试试看!
      

  2.   


    procedure TfrmSetMonCol.sbAddClick(Sender: TObject);
    var
        iTmp: integer;
    begin
        if lbSrc.SelCount <= 0 then
            exit;    iTmp := 0;
        while iTmp <= lbSrc.Items.Count -1 do
            if lbSrc.Selected[iTmp] then
                vMoveItem(lbSrc,iTmp,lbDest)
            else
                Inc(iTmp);
    end;
    procedure TfrmSetMonCol.vMoveItem(lbFrom: TListBox;iIndex: integer;lbTo: TListBox);
    begin
        if (iIndex >= lbFrom.Items.Count) then
            exit;    if lbFrom = lbTo then
            exit;    lbTo.Items.AddObject(lbFrom.Items[iIndex],lbFrom.Items.Objects[iIndex]);
        lbFrom.Items.Delete(iIndex);
    end;
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      TempItem: TListItem;
    begin
      TempItem := Lv1.Items.Add;
      if Lv.Selected = nil then Exit;
      TempItem.Assign(Lv.Selected);
    end;
    以上代码测试通过的!