Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Общие вопросы > обработка событий по нажатию клавиши |
Автор: superwolf 26.5.2008, 01:44 |
Возникла проблема. Объект двигается по форме при нажатии стрелок на клавиатуре. Передвижение происходит в обработчике события формы onKeyDown. Проблема заключается в следующем: Когда нажимаю например стрелку влево происходит движение типа image1.left:=image1.left-10; т.е. объект сдвигается на 10 пикселей влево, если я продолжаю удерживать клавишу, команда движения повторяется быстро и подряд без пауз. Т.е. когда я нажал на клавишу - происходит сдвиг, потом пауза и дальше сдвиги без пауз. Как убрать эту паузу, которая возникает в движении объекта сразу после того как я нажал клавишу и событие обработалось 1 раз? |
Автор: Frees 26.5.2008, 09:56 | ||
а если мессадж обрабатывать то такая же проблема
|
Автор: Snowy 26.5.2008, 10:52 |
Ну правильно. Так в винде и сделано. Зайди в панели управления в настройки клавиатуры - там прописано время для первого нажатия и повторов. Если хочешь определённый период - сделай таймер и проверяй там состояние кнопки через GetKeyState. Ну а частоту такой проверки закладывай, разумеется, в интервал таймера. |