Hola, a ver si te sirve esto:
Código Delphi
[-]procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if ssLeft in Shift then begin
Button1.Top := Mouse.CursorPos.Y - Form1.Top;
Button1.Left := Mouse.CursorPos.x - Form1.Left;
end;
end;
Bytes.