Как заставить TEdit не пикать при нажатии недопустимых клавишDelphi , Компоненты и Классы , TEditКак заставить TEdit не пикать при нажатии недопустимых клавишПерехватите событие KeyPress и установите key = #0 для недопустимых клавиш.
Проблема, которую вы пытаетесь решить, является quitecommon при работе с компонентами TEdit в Delphi. Идея заключается в том, чтобы предотвратить пользователя от ввода недопустимых символов, таких как знаки препинания или специальные клавиши, в поле редактирования. Ваше решение почти корректно, но есть маленькая проблема. При установке Вместо этого можно просто игнорировать недопустимые нажатия клавиш, не выполняя ничего в обработчике события. Вот измененная версия вашего кода:
В этой измененной версии, если пользователь нажмет клавишу, которая не является заглавной буквой (т.е., от 'A' до 'Z'), обработчик события просто ничего не сделает. Нажатие клавиши все еще будет обрабатываться Delphi, но ваш компонент TEdit не будет отображать недопустимый символ. Обратите внимание, что это решение работает только для одиночных нажатий клавиш. Если вы хотите предотвратить ввод строк из более чем одного символа (например, слов или фраз), вам нужно будет использовать более сложное решение, включающее валидацию текста и, возможно, регулярные выражения. Статья описывает способ предотвращения пикания редактора TEdit при нажатии недопустимых клавиш, путем перехвата события KeyPress и установки значения key в #0 для таких клавиш. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
|||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |