Счетчик повторений

Счетчик повторений равен числу нажатий клавиши, которое отражено в сообщении. В большинстве случаев он устанавливается в 1. Однако, если клавиша остается нажатой, а ваша оконная процедура недостаточно быстра, чтобы обрабатывать эти сообщения в темпе автоповтора (по умолчанию это приблизительно 10 символов в секунду), то Windows объединяет несколько сообщений WM_KEYDOWN или WM_SYSKEYDOWN в одно сообщение и соответственно увеличивает счетчик повторений. Для сообщения WM_KEYUP или WM_SYSKEYUP счетчик повторений всегда равен 1.

Поскольку значение счетчика большее 1 показывает, что имеющийся темп автоповтора превышает возможности вашей программы по обработке, вы можете игнорировать счетчик повторений при обработке сообщений клавиатуры. Почти каждый из вас имел опыт работы с документами в программах текстовых редакторов или электронных таблиц, и видел, как строки или страницы продолжают перелистываться и после отпускания соответствующей клавиши. Это происходит из-за дополнительных сообщений в буфере клавиатуры, которые накапливаются там, если некоторое время удерживать клавишу. Игнорирование счетчика повторений в вашей программе существенно снизит вероятность проявления этого эффекта. Тем не менее, счетчик повторений может быть использован. Вероятно, вам следует протестировать в ваших программах обе эти возможности и выбрать наиболее подходящий вариант.

Скан-код OEM

Скан-код OEM является кодом клавиатуры, генерируемым аппаратурой компьютера. (Если вы хорошо знакомы с программированием на языке ассемблера, то скан-код — это код, передаваемый программе в регистре AH при вызове прерывания 16H BIOS.) Приложения Windows обычно игнорируют скан-код OEM, поскольку имеют более совершенные способы расшифровки информации от клавиатуры.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: