在开始拖放时将Caption保存,然后拖放结束后将aption放到Edit中

解决方案 »

  1.   

    procedure TForm1.ListView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var
      x:TListItem;
    begin
      x := ListView1.GetItemAt(x,y);
      if assigned(x) then
        //Save Caption
        ListView1.BeginDrag;
    end;procedure TForm1.Edit1Change(Sender: TObject);
    beginend;procedure TForm1.Edit1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    begin
      //判断是否有值保存
      Accept := true;
    end;procedure TForm1.Edit1DragDrop(Sender, Source: TObject; X, Y: Integer);
    begin
      //Text := 保存的值
    end;
      

  2.   

    设置ListView1的DragMode为dmAutomatic;procedure TForm1.Edit1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    begin
      Accept := (Source as TListView).Name='ListView1';
    end;procedure TForm1.Edit1DragDrop(Sender, Source: TObject; X, Y: Integer);
    begin
      Edit1.Text := ListView1.Selected.Caption;
    end;