If you want that your form will immovable, then you can intercept WM_NCHITTEST message. And after that, change Result parameter of this message:
type TForm1 = class(TForm) private procedure WMNCHITTEST(var Msg: TWMNCHitTest); message WM_NCHITTEST; { Private declarations } public { Public declarations } end; ... procedure TForm1.WMNCHitTest(var Msg: TWMNCHitTest); begin DefaultHandler(Msg); if Msg.Result=HTCAPTION then Msg.Result:=0; end;