Советы по Delphi

       

Обработка WM_SysCommand


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

CONST SC_UDF = $EFF0; {должен быть < $F000 и делиться на 16}
procedure TForm1.FormCreate(Sender: TObject);beginAppendMenu(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);BEGINIF Msg.Message <> WM_SYSCOMMAND THEN Exit;IF Msg.wParam AND $FFF0 <> SC_UDF THEN Exit;... здесь вы можете включить код для обработки системного сообщения ...END;

- Neil J. Rubenking [000804]



Содержание раздела