Как закрыть всплывающее меню в System Tray когда оно теряет фокус
Иногда, при потере фокуса, всплывающее меню в System Tray при потере фокуса не
закрывается. Поэтому, при обработке сообщений для всплывающего меню необходимо
поместить окно на передний план и послать ему сообщение WM_NULL.
procedure TForm1.WndProc(var Msg: TMessage);
var
p: TPoint;
begincase Msg.Msg of
WM_USER + 1:
case Msg.lParam of
WM_RBUTTONDOWN:
begin
SetForegroundWindow(Handle);
GetCursorPos(p);
PopupMenu1.Popup(p.x, p.y);
PostMessage(Handle, WM_NULL, 0, 0);
end;
end;
end;
inherited;
end;
Если Вас заинтересовала или понравилась информация по разработке на Delph - "Как закрыть всплывающее меню в System Tray когда оно теряет фокус", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу: Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!