Please enable JavaScript to view this site.

» Нет разделов более высокого уровня «

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.

© ООО «АСКОН-Системы проектирования», 2024. Все права защищены. | Единая телефонная линия: 8-800-700-00-78