private
  
procedure WMInitMenuPopup(var Msg: TWMInitMenuPopup); message WM_INITMENUPOPUP;

  {...}

implementation

{...}

procedure TForm1.WMInitMenuPopup(var Msg: TWMInitMenuPopup);
begin
  inherited;
  if Msg.SystemMenu then
  begin
    DeleteMenu(Msg.MenuPopUp, SC_SIZE, MF_BYCOMMAND);
    DeleteMenu(Msg.MenuPopUp, SC_MAXIMIZE, MF_BYCOMMAND);
    DeleteMenu(Msg.MenuPopUp, SC_MINIMIZE, MF_BYCOMMAND);
    DeleteMenu(Msg.MenuPopUp, SC_RESTORE, MF_BYCOMMAND);
    // DeleteMenu(msg.MenuPopUp, SC_MOVE, MF_BYCOMMAND);
    // DeleteMenu(msg.MenuPopUp, SC_CLOSE, MF_BYCOMMAND);
    DeleteMenu(Msg.MenuPopup, 0, MF_BYCOMMAND);
  end;
end;