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.16.2.6 - Сообщение WM_KEYDOWN / Клавиатура. / Win32 API

10.16.2.6 - Сообщение WM_KEYDOWN

Сообщение WM_KEYDOWN посылается окну с фокусом клавиатуры тогда, когда нажата несистемная клавиша. Несистемная клавиша является клавишей, которая нажимается, когда клавиша ALT не нажата.

Синтаксис

WM_KEYDOWN
nVirtKey = (int) wParam;	// код виртуальной клавиши
lKeyData = lParam;		// данные на клавишу

Параметры
nVirtKey
Значение wParam. Определяет код виртуальной клавиши для несистемной клавиши.
lKeyData
Значение lParam. Определяет счет повторений, скэн-код, флажок дополнительной клавиши, контекстный код, флажок предыдущего состояния клавиши и флажок переходного состояния, как показано в следующем списке:

  • 0-15 - Определяет счет повторений. Значение равно числу повторений нажатия клавиши в результате того, что пользователь удерживает клавишу нажатой.
  • 16-23 - Определяет скэн-код. Значение зависит от фирмы - изготовителя комплектного оборудования (OEM).
  • 24 - Определяет, является ли клавиша дополнительной клавишей, типа правосторонних клавиш ALT и CTRL, которые появляются на усовершенствованной 101- или 102-клавишной клавиатуре. Значение равно 1, если это дополнительная клавиша; иначе, оно равно 0.
  • 25-28 - Зарезервировано; не используется.
  • 29 - Определяет контекстный код. Для сообщения WM_KEYDOWN это значение всегда 0.
  • 30 - Определяет предыдущее состояние клавиши. Значение равно 1, если клавиша была нажата перед посылкой сообщения или оно равно 0, если клавиша была не нажата.
  • 31 - Определяет переходное состояние. Для сообщения WM_KEYDOWN это значение всегда 0.

Возвращаемые значения
Прикладная программа должна возвратить нуль, если она обрабатывает это сообщение.

Действие по умолчанию
Если нажата клавиша F10, функция DefWindowProc устанавливает внутренний флажок. Когда DefWindowProc принимает сообщение WM_KEYUP, функция проверяет, установлен ли внутренний флажок и, если это так, посылает сообщение WM_SYSCOMMAND окну верхнего уровня. Параметр wParam сообщения устанавливается в SC_KEYMENU.

Замечания
Благодаря функции автоповтора, до посылки сообщения WM_KEYUP может быть послано больше чем одно сообщение WM_KEYDOWN. Предыдущее состояние клавиши (бит 30) может быть использовано, чтобы установить, указывает ли сообщение WM_KEYDOWN первое нажатие или повторное нажатие.
Для усовершенствованных 101- и 102-клавишных клавиатур, дополнительными клавишами являются правая ALT и правая CTRL в основной части клавиатуры; INS, DEL, HOME, END, PAGE UP, PAGE DOWN и клавиши курсора в группах слева от цифровой клавиатуры; и делитель (/) и клавиши ENTER в цифровой клавиатуре. Некоторые другие клавиатуры могут поддерживать бит дополнительной клавиши в параметре lKeyData.

Смотри также
DefWindowProc, WM_CHAR, WM_KEYUP, WM_SYSCOMMAND

Размещение и совместимость WM_KEYDOWN

Windows NT			Да 
Win95				Да 
Win32s				Да 
Импортируемая библиотека		- 
Заголовочный файл			winuser.h 
Unicode				Нет 
Замечания по платформе		Не имеется

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