Перехват нажатия на системные кнопки формы (закрытие , минимизация окна и т.д.)
Перехват нажатия на системные кнопки формы (закрытие , минимизация окна и т.д.)
Перехват нажатия на системные кнопки формы (закрытие , минимизация окна и т.д.)
Сообщение 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;
Взято с сайта