Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Обработка WM_SysCommand

Delphi , ОС и Железо , Сообщения Windows

Обработка 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;

Обработка события WM_SysCommand в приложении Delphi позволяет создавать глобальное системное меню, которое работает как для основной формы приложения, так и для объекта Application, когда оно миниализируется.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Сообщения Windows ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-06-16 09:31:44/0.0053188800811768/0