Please enable JavaScript to view this site.

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

WM_SYSKEYDOWN

Scroll

Это событие посылается в окно с клавиатурным фокусом, когда клавиша нажимается при одновременно нажатой <Alt>. Также оно посылается, когда ни одно из окон не имеет клавиатурного фокуса; в этом случае WM_SYSKEYDOWN посылается в активное окно. Окно, которое принимает событие, может различить эти варианты проверкой разряда 29 (context code) параметра lKeyData.

Синтаксис:

WM_SYSKEYDOWN nVirtKey = (int) wParam; KeyData = lParam;

Параметры:

wParam

- код виртуальной клавиши,

lParamLo

- количество повторений кода клавиши за время удержания ее в нажатом состоянии,

IParamHi

биты 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. Для этого события бит 15 в lParamHi будет нулевым.

3. Если бит 13 IParamHi (context code) параметра flags =0, это событие может проследовать для обработки функцией TRANSLATEACCELERATOR, которая обработает его как событие нажатия стандартной клавиши, вместо системной. Это позволяет использовать горячие клавиши в активном окне, даже если это окно не имеет клавиатурного фокуса.

4. Благодаря автоматическому повторению кода клавиши при удержанию ее нажатой, до появления события WM_KEYUP может выдаваться несколько событий WM_KEYDOWN. Значение разряда 30 параметра flags позволяет определить, было ли событие WM_KEYDOWN первым или или является повторным во время удержания клавиши нажатой.

5. Для расширенных 101 и 102 клавишных клавиатур расширенными клавишами являются следующие:

правый <ALT> и <CTRL> на основной клавиатуре,

<INS>, <DEL>, <HOME>, <END>, <PAGE UP>, <PAGE DOWN> и клавиши со cтрелками в группах слева от дополнительной цифровой клавиатуры,

</> и <ENTER> на дополнительной цифровой клавиатуре.

Другие клавиатуры могут поддерживать бит расширенной клавиатуры при помощи параметра lParam.

6. Это событие также генерируется, если нажимается <F10> без нажатой <Alt>.

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