|
|
|
Как поймать событие?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте все! Вопрос: как поймать событие о потере фокуса приложением? Т.е. если фокус теряет форма (мы переходим на другую форму в том же приложении), то это понятно. А если пользователь нажал [Alt+Tab] или еще как перешел в другое приложение, возникнет ли какое-то событие в текущем? А если возникнет, то как его поймать? AVVS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2005, 11:09:52 |
|
||
|
Как поймать событие?
|
|||
|---|---|---|---|
|
#18+
Приложением не знаю, а формой , по-моему, Form_Deactivate() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2005, 12:24:25 |
|
||
|
Как поймать событие?
|
|||
|---|---|---|---|
|
#18+
MSDN(Form Events and Methods) Deactivate event occurs when another form or application becomes active. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2005, 12:26:34 |
|
||
|
Как поймать событие?
|
|||
|---|---|---|---|
|
#18+
Дурак MSDN(Form Events and Methods) Deactivate event occurs when another form or application becomes active. У меня немного другие сведения: MSDN (Activate,Deactivate Events) The Activate and Deactivate events occur only when moving the focus within an application. Moving the focus to or from an object in another application doesn't trigger either event. The Deactivate event doesn't occur when unloading an object. Это событие ловится только внутри приложения. В MSDN правильно написано, я проверял. Для моего случая не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2005, 12:36:11 |
|
||
|
Как поймать событие?
|
|||
|---|---|---|---|
|
#18+
Фокус есть свойство окна, а не приложения, и то, что показывается по alt+tab, это открытые top-level окна, которые могут принадлежать и одному приложению. Единственный способ получить что-то похожее на App_Deactivate - организовать коллекцию открытых окон, на событие Deactivate навесить установку флажка, позазывающего, что форма деактивирована. А когда надо, сравнивать что-то типа AppForms.Count = AppForms.DeactivatedCount ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2005, 17:21:22 |
|
||
|
Как поймать событие?
|
|||
|---|---|---|---|
|
#18+
А мона сделать по тупому! В лоб шо называется! Декларируем GETфореGROUNDWINDOW (что-то в таком роде....) Делаем таймер. ДИМим Переменные My и They как ДУБЛ При загрузке формы получем индификатор нашего окна (любимого). А по таймеру сверяем Индефикаторы окон. Не наше? Тогда это EVENT!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2005, 01:03:21 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=60&tid=2167913]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
23ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 279ms |

| 0 / 0 |
