Шаг 81 - Отключение клавиш ESC и ENTER с акселераторами

Клавиши ESC и ENTER в диалоговом окне сопоставлены с кнопками OK и CANCEL. Мы перенаправим сообщения от клавиатуры в функцию заглушку. У нас с прошлого шага есть идентификатор, который не связан с элементом управления вот туда мы его и отправим. Итак добавляем запись в таблицу акселераторов. Если мы не знаем как назвать виртуальную клавишу, то нам поможет кнопка Next Key Typed.

81_1.gif (7338 b)

Нажимаем ее. Загорится таблица о том, что можно нажимать клавишу:

81_2.gif (4626 b)

Нажимаем ESC:

81_3.gif (5358 b)

Все готово. Обработка сообщения и функция сделаны в прошлом шаге. Мы просто изменим сообщение, чтобы увидеть, что реакция есть.

void CTestMessageDlg::OnButton3() 
{
	AfxMessageBox("ESC Press");	
}

Запускаем, нажимаем ESC.

81_4.gif (5194 b)

Проделаем тоже самое с Enter.

81_5.gif (2217 b)

Все сработает.

81_6.gif (5813 b)


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 08.07.2002