WM_KEYUP |
Scroll |
Событие WM_KEYDOWN посылается в окно с клавиатурным фокусом, если была отпущена несистемная клавиша.
Синтаксис:
WM_KEYUP nVirtKey = (int) wParam; lKeyData = lParam;
Параметры:
wParam |
- код виртуальной клавиши, |
lParamLo |
- количество повторений кода клавиши за время удержания ее в нажатом состоянии, |
LParamHi |
биты 0-7: scan-код клавиши, зависящий от OEM; бит 8: 1, если клавиша относится к расширенным, бит 13: 1, если при нажатии клавиши была нажата <Alt>, бит 14: 1, если клавиша была нажата до возникновения события, бит 15: 1, если после события клавиша отпущена, 0, если после события клавиша остается нажатой. |
Возвращаемое значение:
Не используется.
Умолчательное действие:
Функция DEFWINDOWPROC посылает событие WM_SYSCOMMAND в окно верхнего уровня, если <F10> или <ALT> была отпущена. Значение параметра wParam становится равным SC_KEYMENU.
Примечание:
1. Приложение должно вернуть 0, если оно обрабатывает это событие.
2. Для этого события биты 13 и 15 в lParamHi будут нулевыми.
3. Если ни одно из окон не имеет клавиатурного фокуса, то вместо события WM_KEYUP посылается событие WM_SYSKEYUP.
4. Благодаря автоматическому повторению кода клавиши при удержанию ее нажатой, до появления события WM_KEYUP может выдаваться несколько событий WM_KEYDOWN. Значение разряда 30 параметра flags позволяет определить, было ли событие WM_KEYDOWN первым или или является повторным во время удержания клавиши нажатой.
5. Для расширенных 101 и 102 клавишных клавиатур расширенными клавишами являются следующие:
•правый <ALT> and <CTRL> на основной клавиатуре,
•<INS>, <DEL>, <HOME>, <END>, <PAGE UP>, <PAGE DOWN> и клавиши со cтрелками в группах слева от дополнительной цифровой клавиатуры,
•</> и <ENTER> на дополнительной цифровой клавиатуре.
Другие клавиатуры могут поддерживать бит расширенной клавиатуры при помощи параметра lParam.