Пример использования горячих клавиш с диалоговым окном
Рисунок 2.4.2. Пример использования горячих клавиш с диалоговым окном.
Комментарий к программе на Рисунок 2.4.2.
1. Самое главное: разберитесь с тем, как мы определяем, когда первое окно редактирования теряет, когда приобретает фокус. В начале определяется, что сообщение пришло от окна редактирования с идентификатором 1, а затем - какое сообщение пришло: EN_SETFOCUS или EN_KILLFOCUS. В первом случае мы устанавливаем горячие клавиши, а во втором снимаем горячие клавиши.
2. В области данных задаем таблицу горячих клавиш. Функция RegisterHotKey имеет следующие параметры:
В нашем случае виртуальный код клавиши и идентификатор горячей клавиши совпадают. Конечно, здесь есть поле для дальнейшего усовершенствования. Скажем, исключить из обработки клавиши управления курсором. Я думаю, читатель справится с этим самостоятельно.