Я поддерживаю настольное приложение Windows, которое постоянно удаляет фокус из его видимых окон (а также из других приложений на рабочем столе). Это явно ошибка, и я хочу ее исправить, но приложение устарело (Borland C++ Builder 6), а его код очень обширен. Я пытаюсь проследить FormActivate
и FormDeactivate
событиях, но каждый из них происходит только один раз: FormActivate
после показа и FormDeactivate
при закрытии окна.отслеживание фокуса и потеря формы в приложении VCL
Возможно ли программно отслеживать изменения фокуса в формах VCL?
Иногда очень неприятная ошибка в очень старой программе - это просто то, что нужно, чтобы мотивировать силы, которые нужно выкинуть или полностью переделать, но вы, вероятно, не сможете это использовать. Вы посмотрели на «обходные пути» или такие инструменты, которые позволяют вам перехватывать вызовы Windows, введя код для повторного маршрута? – Les
Спасибо. (1) Не было бы ничего, что я хотел бы больше, чем выбросить этот старый код, но теперь он безнадежен (я борюсь со следующим выпуском), но скоро я это сделаю. (2) Объемы, которые я не знал, похоже, выполняют эту работу, но я боюсь, что денег и времени недостаточно (чтобы заставить его сотрудничать с базой VCL?). Я надеялся, что будет гораздо более простой трюк. Так что я собираюсь попытаться «зацепить» «WindowProc» сейчас ... – Wolf