Sources
Delphi Russian Knowledge Base
DRKB - база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Перехват нажатия на системные кнопки формы (закрытие, минимизация окна и т.д.)

01.01.2007

Перехват нажатия на системные кнопки формы (закрытие, минимизация окна и т.д.)

Сообщение WM_SYSCOMMAND приходит перед выполнением соответствующей команды, что дает возможность переопределить код.

Описание:

WM_SYSCOMMAND

uCmdType = wParam;        // type of system command requested

xPos = LOWORD(lParam);    // horizontal postion, in screen coordinates

yPos = HIWORD(lParam);    // vertical postion, in screen coordinates

Например, перехват события минимизации окна приложения:

Type TMain = class(TForm)
 ....
protected
  Procedure WMGetSysCommand(var Message : TMessage); message WM_SYSCOMMAND;
end;
.....
//----------------------------------------------------------------
//   Обработка сообщения WM_SYSCOMMAND (перехват минимизации окна)
//----------------------------------------------------------------
Procedure TMain.WMGetSysCommand(var Message : TMessage) ;
Begin
     IF (Message..wParam = SC_MINIMIZE)  
     Then Main.Visible:=False
     Else Inherited;
End;
Previous page:
Альтернатива для Sleep(), но чтобы приложение не зависало
Top:
DRKB
Next page:
Как заставить приложение Delphi отвечать на сообщения Windows?