|
|
|
OnIdle & Edit
|
|||
|---|---|---|---|
|
#18+
День добрый! Через определенное время простоя необходимо требовать повторный ввод пароля. Переопределила OnIdle и обрабатываю прошедшее время. Вопрос в следующем - если фокусом владеет Edit, то событие OnIdle не наступает. Можно ли как-то с этим бороться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 15:31 |
|
||
|
OnIdle & Edit
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток. MSDN: CWnd Запускаем таймер: SetTimer(UINT nIDEvent, UINT nElapse, void (CALLBACK EXPORT* lpfnTimer)(HWND, UINT, UINT, DWORD) ); callback определеяем как NULL и отрабатываем сообщение таймера: OnTimer(UINT nIDEvent) { ..... } Собщение отрабатывается вне зависимости в каком из дочерних контров фокус. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 16:22 |
|
||
|
OnIdle & Edit
|
|||
|---|---|---|---|
|
#18+
msdnThe WM_ENTERIDLE message is sent to the owner window of a modal dialog box or menu that is entering an idle state. A modal dialog box or menu enters an idle state when no messages are waiting in its queue after it has processed one or more previous messages. msdn так же добавил...wParam Specifies whether the message is the result of a dialog box or a menu being displayed. This parameter can be one of the following values. Value Meaning MSGF_DIALOGBOX The system is idle because a dialog box is displayed. MSGF_MENU The system is idle because a menu is displayed. то есть я чё-то не пойму... Идл наступает когда окно перекрывается модальным окном или меню. Причём, сама месага посылается _перекрытому_диалогу_. И сразу, как тока он вычистит очередь сообщений. Через определенное время простоя - это оно имелось ввиду?... Или я чё-то непонимаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 16:26 |
|
||
|
OnIdle & Edit
|
|||
|---|---|---|---|
|
#18+
2Sie Пользователь работает с программой - смотрит списки или вводит данные! 1. Если он переключился в другое окно - через дцать минут надо перезапросить пароль. 2. Он отошел от компа вообще, но программа осталась OnTop - - через дцать минут надо перезапросить пароль. В 1 случае все работает. Во 2 случае работает все, кроме ситуации, когда фокус находится в Edit. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2004, 16:42 |
|
||
|
OnIdle & Edit
|
|||
|---|---|---|---|
|
#18+
Ну вообще-то надо пользоваться тем, что предложил bulin... А пробовали переключаться в другое окно и потом сразу назад, не дожидаясь пока пройдёт таймаут? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2004, 10:12 |
|
||
|
OnIdle & Edit
|
|||
|---|---|---|---|
|
#18+
bulinДоброго времени суток. MSDN: CWnd Запускаем таймер: SetTimer(UINT nIDEvent, UINT nElapse, void (CALLBACK EXPORT* lpfnTimer)(HWND, UINT, UINT, DWORD) ); callback определеяем как NULL и отрабатываем сообщение таймера: OnTimer(UINT nIDEvent) { ..... } Собщение отрабатывается вне зависимости в каком из дочерних контров фокус. А если мне нужно создать два таймера OnTimer будет вызваться по обоим таймерам? Возможно, чтобы вызывался другой метод? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2005, 11:54 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=390&tid=2032693]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
32ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 323ms |

| 0 / 0 |
