If you want to “lock” your application window position and prevent user from moving it, it’s really simple.
The application form will be completely immovable, but user can still resize, minimize or maximize it. How does it work? We will just remove “move” command from system menu using simple code in OnCreate event of the form. In second part of code (OnClick event of button), we will enable moving againg.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
DeleteMenu(GetSystemMenu(Handle, False), SC_MOVE, MF_BYCOMMAND);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
GetSystemMenu(Handle, True);
end;
end.