C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 10.7 - Флажки сообщения о нажатии клавиши / Клавиатура. / Win32 API

10.7 - Флажки сообщения о нажатии клавиши

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

8_1.gif (7221 b)

Прикладная программа может использовать следующие значения, чтобы управлять флажками нажатия клавиши:

  • KF_ALTDOWN - Управляет флажком клавиши ALT, который указывает, нажата ли клавиша ALT.
  • KF_DLGMODE - Управляет флажком режима диалога, который указывает, является ли диалоговое окно активным.
  • KF_EXTENDED - Управляет флажком дополнительной клавиши.
  • KF_MENUMODE - Управляет флажком режима меню, который указывает, является ли меню активным.
  • KF_REPEAT - Управляет счетчиком повторений.
  • KF_UP - Управляет флажком переходного состояния.

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

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

Скэн-код

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

Флажок дополнительной клавиши

Флажок дополнительной клавиши указывает, произошло ли сообщение нажатия клавиши от одной из дополнительных клавиш на расширенной клавиатуре. Дополнительные клавиши состоят из клавиш ALT и CTRL в правой части клавиатуры; INS, DEL, HOME, END, PAGE UP, PAGE DOWN и клавиши курсора в группах слева от цифровой клавиатуры; клавиша NUM LOCK; клавиша BREAK (CTRL+PAUSE); клавиша PRINT SCRN; делитель (/) и клавиши ENTER в цифровой клавиатуре. Флажок дополнительной клавиши устанавливается, если клавиша является дополнительной клавишей.

Контекстный Код

Контекстный код указывает, была ли клавиша ALT нажата тогда, когда было сгенерировано сообщение о нажатии клавиши. Если клавиша ALT была нажата, код будет 1 и 0, если этого не было.

Флажок предыдущего состояния клавиши

Флажок предыдущего состояния клавиши указывает, была ли клавиша, которая генерировала сообщение о нажатии, перед этим нажата или отпущена. Он будет 1, если клавиша в предыдущем состоянии была нажата и 0, если клавиша в предыдущем состоянии была отпущена. Вы можете использовать этот флажок, чтобы идентифицировать сообщения нажатия клавиши, сгенерированные автоматической функцией повторения клавиатуры. Этот флажок установлен в 1 для сообщений WM_KEYDOWN и WM_SYSKEYDOWN нажатия клавиши, сгенерированных автоматической функцией повторения. Он всегда устанавливается в 0 для сообщений WM_SYSKEYUP и WM_KEYUP.

Флажок переходного состояния

Флажок переходного состояния указывает, что генерировало сообщение нажатия клавиши - либо нажатие клавиши или отпуск её. Этот флажок всегда устанавливается в 0 для сообщений WM_SYSKEYDOWN и WM_KEYDOWN; он всегда устанавливается в 1 для сообщений WM_SYSKEYUP и WM_KEYUP.


| |
Автор Владимир Соковиков.
[AD]