![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
GetFocus
Khim © (2006-04-16 18:33:00)Доброе время суток!
Такое дело: как мне отследить поменялся ли фокус ввода
если например, пользователь скачала выбрал одно окно, потом другое
Как-то не очень объяснил,
Короче надо отследить поменялся ли фокус ввода
Заранее пасиба!
kilkennyCat (2006-04-16 23:18:00) [1]
> Asail (16.04.06 22:42) [8]
а я проверял между разными приложениями.
Asail (2006-04-16 22:42:00) [2]
> kilkennyCat © (16.04.06 18:55) [4]
>
> но не в событиях самой формы, по крайней мере в D7
Это почему? OnActivate срабатывает когда форма получает фокус, а OnDeactivate - когда теряет. Только внутри приложения.
Проверял именно на Delphi 7.
Leonid Troyanovsky (2006-04-16 19:08:00) [3]
> Khim © (16.04.06 18:59) [5]
> Делаю по другому: нахожу хендл поля,
> но вот задача, как сравнить какой был хендл и какой теперь
А не надо по-другому, надо как положено.
Если фокус ввода поменялся, то сработает OnActiveControlChange.
--
Regards, LVT.
kilkennyCat (2006-04-16 19:04:00) [4]
> как сравнить какой был хендл и какой теперь
несовсем понял, для чего, но если конкретно, то хэндл сравнить с другим можно легко... if handle1 = handle2 then...
Khim (2006-04-16 18:59:00) [5]Делаю по другому: нахожу хендл поля,
но вот задача, как сравнить какой был хендл и какой теперь
kilkennyCat (2006-04-16 18:55:00) [6]
> а для формы OnActivate.
но не в событиях самой формы, по крайней мере в D7
Asail (2006-04-16 18:53:00) [7]Получить инфу о том, какое окно активно можно так:
Screen.ActiveForm
Для отслеживания момента получения компонентом фокуса см. событие OnEnter, а для формы OnActivate.
kilkennyCat (2006-04-16 18:53:00) [8]ApplicationEvents кинуть на форму, там покопаться в событиях... например, onActivate и противоположное
Leonid Troyanovsky (2006-04-16 18:52:00) [9]
> Khim © (16.04.06 18:33)
> Короче надо отследить поменялся ли фокус ввода
TScreen.OnActiveControlChange &etc.
--
Regards, LVT.