First, make the borderstyle something like bsDialog, so that the window cant be resized.
Next, add the following declaration to your form class:
Thats it. Easy as can be. The only problem with this is that you cant move the form if you want your code to. To get around this, just set up a Boolean variable called PosLocked, set it to True when you want to lock the forms position, and to false when you need to move the form (when your done, remember to set it back to true). Then to implement the proc above, just make it...
procedure PosChange(var Msg: TWmWindowPosChanging) ; message WM_WINDOWPOSCHANGING; //Implement the message handler as: procedure TForm1.PosChange(var Msg: TWmWindowPosChanging) ; begin Msg.WindowPos.x := Left; Msg.WindowPos.y := Top; Msg.Result := 0; end;
if PosLocked then begin Msg.WindowPos.x := Left; Msg.WindowPos.y := Top; Msg.Result := 0; end else inherited;