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.15.1 - Обработка сообщений о нажатии клавиши / Клавиатура. / Win32 API

10.15.1 - Обработка сообщений о нажатии клавиши

Оконная процедура окна, которое имеет фокус клавиатуры, принимает сообщения о нажатии клавиши, когда пользователь печатает на клавиатуре. Сообщения о нажатии клавиши - WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN и WM_SYSKEYUP. Типичная оконная процедура игнорирует все сообщения о нажатии клавиши кроме WM_KEYDOWN. Windows посылает сообщение WM_KEYDOWN, когда пользователь нажимает клавишу.

Когда оконная процедура принимает сообщение WM_KEYDOWN, она должна проверить код виртуальной клавиши, который сопровождает сообщение, чтобы установить, как обработать нажатие клавиши. Код виртуальной клавиши находится в параметре wParam сообщения. Как правило, приложение обрабатывает только нажатия клавиши, сгенерированные не символьными клавишами, включая функциональные клавиши, клавиши управления курсором, и клавиши специального назначения типа INS, DEL, HOME и END.

Следующий пример показывает общую схему оконной процедуры, которую использует типичная прикладная программа, чтобы принимать и обрабатывать сообщения о нажатии клавиши.

case WM_KEYDOWN:
	switch (wParam) {
		case VK_LEFT:
			.
			. /* Обрабатывает клавишу LEFT ARROW (Стрелка влево). */
			.
		break;

		case VK_RIGHT:
			.
			. /* Обрабатывает клавишу RIGHT ARROW (Стрелка вправо). */
			.
		break;

		case VK_UP:
			.
			. /* Обрабатывает клавишу UP ARROW (Стрелка вверх). */
			.
		break;

		case VK_DOWN:
			.
			. /* Обрабатывает клавишу DOWN ARROW (Стрелка вниз). */
			.
		break;

		case VK_HOME:
			.
			. /* Обрабатывает клавишу HOME. */
			.
		break;

		case VK_END:
			.
			. /* Обрабатывает клавишу END. */
			.
		break;

		case VK_INSERT:
			.
			. /* Обрабатывает клавишу INS. */
			.
		break;

		case VK_DELETE:
			.
			. /* Обрабатывает клавишу DEL. */
			.
		break;

		case VK_F2:
			.
			. /* Обрабатывает клавишу F2. */
			.
		break;

		.
		. /* Обрабатывает другие не символьные нажатия клавиш. */
		.
		default:
		break;
	}

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