Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

OnKeyPress

CuBook45

Описание

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

TWinControl
 
Определение

typedef void (__closure *TKeyPressEvent)(System::TObject* Sender, char &Key);
__property TKeyPressEvent OnKeyPress
 
Пример

Оператор обработчика события OnKeyPress переводит латинские символы в верхний регистр, независимо от того, в каком регистре набрал их пользователь. Этот оператор действует только на латинские символы.
Key = UpCase (Key);
 
Аналогичный оператор действует и на Латинские символы, и на символы кириллицы:
Key = AnsiOpperCase(Key)[1];
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий