Ассемблер для Windows

Пример использования горячих клавиш с диалоговым окном



Рисунок 2.4.2. Пример использования горячих клавиш с диалоговым окном.

Комментарий к программе на Рисунок 2.4.2.

1. Самое главное: разберитесь с тем, как мы определяем, когда первое окно редактирования теряет, когда приобретает фокус. В начале определяется, что сообщение пришло от окна редактирования с идентификатором 1, а затем - какое сообщение пришло: EN_SETFOCUS или EN_KILLFOCUS. В первом случае мы устанавливаем горячие клавиши, а во втором снимаем горячие клавиши.

2. В области данных задаем таблицу горячих клавиш. Функция RegisterHotKey имеет следующие параметры:

  • 1-й параметр - идентификатор окна.
  • 2-й параметр - идентификатор горячей клавиши.
  • 3-й параметр - флаг нажатия управляющих клавиш.
  • 4-й параметр - виртуальный код клавиши.
  • В нашем случае виртуальный код клавиши и идентификатор горячей клавиши совпадают. Конечно, здесь есть поле для дальнейшего усовершенствования. Скажем, исключить из обработки клавиши управления курсором. Я думаю, читатель справится с этим самостоятельно.



    Содержание раздела