Для выхода я в примере использую EndMenu - должна закрывать все меню, так что эмулировать esc нет смысла.
Для "убора" фокуса с кнопки нужно (!) кликнуть по какому-нибудь другому контролу. Сам по себе фокус никуда не денется (если конечно не убирать его "вручную"). А для клика на другой контрол нужно навести на него мышь (при открытом меню tab не работает). А процедура (которая в таймере) отлавливает это наведение, и закрывает все меню, если tag в этого контрола не равен 55. В примере лежит и панель, неужели при наведении на нее меню не закрывается?
|