通过OnMouseDown, OnMouseUp事件模拟procedure TForm1.SpeedButton2MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  isBeginDrop := True; //全局变量
end;procedure TForm1.SpeedButton2MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if isBeginDrop then begin
    isBeginDrop := False;
    SpeedButton2.Left := x + SpeedButton2.Left;
    SpeedButton2.Top := y + SpeedButton2.Top;
  end;
end;