Сообщение WM_SYSKEYUP посылается окну с фокусом клавиатуры тогда, когда пользователь отпускает клавишу, которая была нажата, в то время когда удерживалась нажатой клавиша ALT. Это происходит также тогда, когда никакое окно в настоящее время не имеет фокуса клавиатуры; в этом случае, сообщение WM_SYSKEYUP отправляется активному окну. Окно, которое принимает сообщение, может делать различие между этими двумя ситуациями, проверяя контекстный код в параметре lKeyData.
Синтаксис
WM_SYSKEYUP nVirtKey = (int) wParam; // код виртуальной клавиши lKeyData = lParam; // данные на клавишу
Параметры
nVirtKey
Значение wParam. Определяет код виртуальной клавиши, которая была отпущена.
lKeyData
Значение lParam. Определяет счет повторений, скэн-код, флажок дополнительной клавиши, контекстный код, флажок предыдущего состояния клавиши и флажок переходного состояния, как показано в следующем списке:
Возвращаемые значения
Прикладная программа должна возвратить нуль, если она обрабатывает это сообщение.
Действие по умолчанию
Если клавиша F10 или ALT была отпущена, функция DefWindowProc отправляет сообщение WM_SYSCOMMAND окну верхнего уровня. Параметр wParam сообщения устанавливается в SC_KEYMENU.
Замечания
Когда контекстный код нулевой, сообщение может быть послано в функцию TranslateAccelerator, которая обработает его, как если бы оно было нормальное клавишное сообщение вместо системного сообщения символьной клавиши. Это позволяет клавишам - ускорителям быть использованными с активным окном, даже если активное окно не имеет фокуса клавиатуры.
Для усовершенствованных 101- и 102-клавишных клавиатур, дополнительными клавишами являются - правая ALT и правая CTRL в основной части клавиатуры; INS, DEL, HOME, END, PAGE UP, PAGE DOWN и клавиши курсора в группах слева от цифровой клавиатуры; делитель (/) и клавиши ENTER в цифровой клавиатуре. Другие клавиатуры могут поддерживать бит дополнительной клавиши в параметре lKeyData.
Для не американских усовершенствованных 102-клавишных клавиатур, правая клавиша ALT обрабатывается как клавиша CTRL + ALT. Следующая таблица показывает последовательность сообщений, которые появляются в результате того, когда пользователь нажимает и отпускает эту клавишу:
Сообщение Код виртуальной клавиши WM_KEYDOWN VK_CONTROL WM_KEYDOWN VK_MENU WM_KEYUP VK_CONTROL WM_SYSKEYUP VK_MENU
Смотри также: DefWindowProc, TranslateAccelerator, WM_SYSCOMMAND, WM_SYSKEYDOWN
Размещение и совместимость WM_SYSKEYUP
Windows NT Да Win95 Да Win32s Да Импортируемая библиотека - Заголовочный файл winuser.h Unicode Нет Замечания по платформе Не имеется