下面这段代码是托拽edit控件,再拖拽的位置生成一个新的edit控件, 只要有托拽事件的空间都可以这么做。procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Button=mbLeft then (Sender as TEdit).BeginDrag(false); end;procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer); var MyEdit:TEdit; begin if (Sender is TForm) and (Source is TEdit) then begin MyEdit:=TEdit.Create(self); MyEdit.Parent:=self; MyEdit.Left:=x; MyEdit.Top:=y; MyEdit.Text:=(Source as TEdit).Text; MyEdit.Show; end; end;procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin if Source is TEdit then Accept:=true; end;
但是实现起来也不是很难啊
只要有托拽事件的空间都可以这么做。procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbLeft then
(Sender as TEdit).BeginDrag(false);
end;procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer);
var
MyEdit:TEdit;
begin
if (Sender is TForm) and (Source is TEdit) then
begin
MyEdit:=TEdit.Create(self);
MyEdit.Parent:=self;
MyEdit.Left:=x;
MyEdit.Top:=y;
MyEdit.Text:=(Source as TEdit).Text;
MyEdit.Show;
end;
end;procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
if Source is TEdit then
Accept:=true;
end;