OnKeyPress

property OnKeyPress: TKeyPressEvent [rw] -DESKTOP-

Вызывается при нажатии пользователем клавиши символа.

Событие OnKeyPress вызывается, если компонент находится в фокусе, при нажатии пользователем клавиши символа. Параметр Key в обработчике этого события имеет тип Char и соответствует символу нажатой клавиши. При этом различаются символы в верхнем и нижнем регистрах и символы кириллицы и латинские. Клавиши, не отражаемые в кодах ASCII (функциональные клавиши и такие, как Shift, Alt, Ctrl), не вызывают этого события. Поэтому нажатие таких комбинаций клавиш, как, например, Shift-A, генерирует только одно событие OnKeyPress, при котором параметр Key равен «A». Для того, чтобы распознавать клавиши, не соответствующие символам, или комбинации клавиш, надо использовать обработчики событий OnKeyDown и OnKeyUp.

Следует отметить, что событие OnKeyPress заведомо вызывается, если нажимается только клавиша символа или клавиша символа при нажатой клавише Shift. Если же клавиша символа нажимается одновременно с какой-то из вспомогательных клавиш, то событие OnKeyPress может не произойти (произойдут только события OnKeyDown при нажатии и OnKeyUp при отпускании) или, если и произойдет, то укажет на неверный символ. Например, при нажатой клавише Alt событие OnKeyPress при нажатии символьной клавиши не вызывается. А при нажатой клавише Ctrl событие OnKeyPress при нажатии символьной клавиши вызывается, но символ не распознается.

Поскольку параметр Key передается в обработчик как var, его можно изменять, передавая для дальнейшей стандартной обработки другой символ.