Системное меню в приложениях 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; |