Das könnt so gehen:
Delphi-Quellcode:
var
setself: boolean = false;
//...
procedure Form1.OnMouseMove(...);
begin
setself := not setself;
if setself do begin
//Verschieben um x und y (parameter);
SetCursorPos(MitteDesForms);
end;
end;
das setself brauchts, da ansonsten durch SetCursorPos das OnMouseMove wieder ausgelöst werden würde, obwohl der benutzer die maus gar nicht bewegt hat. (wär das auch endlosrekursion?)