{ Private declarations } procedure WMSysCommand (var Msg: TWMSysCommand) ; message WM_SYSCOMMAND; procedure TForm1.WMSysCommand(var Msg: TWMSysCommand); begin if Msg.CmdType = SC_RESTORE then begin ShowMessage('SC_RESTORE'); if self.WindowState = wsMaximized then begin self.WindowState := wsMinimized; Msg.Result := 0; Exit; end; if self.WindowState = wsMinimized then begin self.WindowState := wsMaximized; Msg.Result := 0; Exit; end; end; DefaultHandler(Msg) ; end;