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