События клавиатуры
Если фокус находится на элементе управления формы, а пользователь нажимает и отпускает клавишу или выполняет макрокоманду Команды клавиатуры, имитирующую нажатие клавиши, возникает следующая цепочка событий:
Клавиша вниз • Нажать клавишу • Клавиша вверх.
При нажатии или отпускании клавиши, а также при выполнении клавиатурной команды, соответствующей символу из набора ANSI, всегда возникают события Клавиша вниз, Нажать клавишу и Клавиша вверх. Если пользователь нажимает и удерживает клавишу ANSI (о режиме ANSI см. в главе 11), возникает иная последовательность событий:
Клавиша вниз • Нажать клавишу • Клавиша вверх.
Это продолжается до тех пор, пока пользователь не отпустит клавишу; тогда произойдет событие Клавиша вверх.
При нажатии и отпускании клавиши, которая не является клавишей ANSI, возникают события:
Клавиша вниз • Клавиша вверх.
Если пользователь нажимает и удерживает такую клавишу, то до ее отпускания возникает и повторяется событие Клавиша вниз, а при отпускании происходит событие Клавиша вверх.
Если при нажатии той или иной клавиши предусмотрено другое событие элемента управления, то это событие возникает после Нажать клавишу, но до Клавиша вверх. Например, если нажатие клавиши приводит к изменению текста в поле, то последовательность событий такова:
Клавиша вниз • Нажать клавишу • Изменение • Клавиша вверх.
Если нажатие клавиши вызывает перевод фокуса с одного элемента управления на другой, то событие Клавиша вниз возникает для первого элемента управления, а события Нажать клавишу и Клавиша вверх – для второго. Например, если пользователь изменяет данные в элементе управления и нажимает клавишу TAB для перехода к следующему элементу, то возникают следующие события:
• для первого элемента управления:
Клавиша вниз • До обновления • После обновления • Выход • Потеря фокуса;
• для второго элемента управления:
Вход • Получение фокуса • Нажать клавишу • Клавиша вверх.