Главная страницаОбратная связьКарта сайта

Обработка WM_SysCommand

Автор: Neil J. Rubenking

Системное меню в приложениях Delphi ведет двойную жизнь - когда основная форма активна, работает системное меню главной формы, но когда приложение минимизировано, работает системное меню объекта Applictaion. Этот код может оказаться полезным:


CONST 
  SC_UDF = $EFF0;   {должен быть < $F000 и делиться на 16}

procedure TForm1.FormCreate(Sender: TObject);
begin
  AppendMenu(GetSystemMenu(Handle, False), MF_STRING, SC_UDF, "Всегда на&верху");
  AppendMenu(GetSystemMenu(Application.Handle, False), MF_STRING, SC_UDF, "Всегда на&верху");
  Application.OnMessage := AppOnMessage;
end;

procedure TForm1.AppOnMessage(VAR Msg: TMsg; VAR Handled: Boolean);
BEGIN
  IF Msg.Message <> WM_SYSCOMMAND THEN 
    Exit;
  IF Msg.wParam AND $FFF0 <> SC_UDF THEN 
    Exit;
... здесь вы можете включить код для обработки системного сообщения ...
END;


Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация по разработке на Delph - "Обработка WM_SysCommand", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2021 Дискета.info