На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / Win Api / Иногда всплывающее меню моего приложения system tray не исчезает когда оно теряет фокус. Как закрыть его? Сделать домашней страницей Добавить в избранное Написать писмо

Иногда всплывающее меню моего приложения system tray не исчезает когда оно теряет фокус. Как закрыть его?


При показе всплывающего меню установите foreground window, затем пошлите сообщение WM_NULL после показа меню.

procedure TForm1.WndProc(var Msg : TMessage);
var
p : TPoint;
begin
case 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;


Источник: Дельфи. Вокруг да около.



Copyright ©   "Мастера DELPHI"   E-mail:   delphi@mastak.com  http://www.delphimaster.ru
Источник получения информации: http://www.delphimaster.ru
Hosted by uCoz