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

Материал из DRKB

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

Сообщение 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;



Source: Взято с сайта http://blackman.wp-club.net/
ID: 02023