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