Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2012, 16:32   #1
iov
 
Регистрация: 04.05.2012
Сообщений: 3
По умолчанию Обработка нажатий клавиш во время паузы

Господа, подскажите, пожалуйста, как во время паузы обрабатывать сообщения о нажатии клавиш?

Обработчик нажатия клавиш задаем следующим образом:
Application.OnKey "{LEFT}", "StepLeft"

Паузу (на 400 млсек) делаем так:
t0 = Now
Do While (t0 + (1 / 24 / 60 / 60 / 1000) * 400) > Now
DoEvents
Loop Until

или так:
t0 = Timer
Do While Timer - t0 < 0.4
DoEvents
Loop


Но в обоих случаях события нажатия клавиш не обрабатываются!

В общем виде фрагмент программы должен выглядеть так:
Do
'Действия по выводу на лист
'Пауза, во время которой обрабатываются нажатия клавиш
Loop Until <условие>


Помогите разрешить проблему
iov вне форума Ответить с цитированием
Старый 04.05.2012, 16:43   #2
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

попробуйте воспользоваться onTime для организации задержки.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 04.05.2012, 18:32   #3
iov
 
Регистрация: 04.05.2012
Сообщений: 3
По умолчанию

Попробовал onTime. Правда, пришлось поменять алгоритм. При этом если задержка 1 сек и более, то работает нормально. Если же задержка менее 1 сек, то иногда объединяет 2 или 3 итерации цикла в одну. А мне как раз нужна задержка 200 - 400 млсек...
iov вне форума Ответить с цитированием
Старый 04.05.2012, 18:43   #4
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

http://programmersforum.ru/showthread.php?t=195791

тут почитайте, возможно это ваш вариант....
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 04.05.2012, 18:59   #5
iov
 
Регистрация: 04.05.2012
Сообщений: 3
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
http://programmersforum.ru/showthread.php?t=195791

тут почитайте, возможно это ваш вариант....
Спасибо, разбираюсь...
iov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Глобальный перезват нажатий клавиш. Диман56 Общие вопросы C/C++ 5 29.10.2011 19:40
Эмуляция нажатий клавиш BorisBritva Общие вопросы Delphi 1 01.11.2010 13:09
симуляция нажатий клавиш 4321 Общие вопросы Delphi 14 23.10.2008 23:18
Иммитация нажатий клавиш клавиатуры chandrasecar Win Api 5 11.10.2008 12:16
отслеживание нажатий клавиш Артэс Win Api 6 14.06.2008 20:02