Текстовое поле класса TMaskEdit (вкладка Additional палитры инструментов) позволяет вводить информацию в соответствии с заданной маской, которая определяет, какие символы могут быть в том или ином месте строки. Такой ввод удобен, когда нужно запросить у пользователя, например, дату или номер телефона и т. д. При помощи свойства EditMask задается маска, которая представляет собой строку, состоящую из трех частей, разделенных точкой с запятой. Если свойство EditMask не задано, то TMaskEdit работает как редактор TEdit. Первая часть маски задает собственно маску ввода, во второй части содержится символ нуля (0) или единицы (1), определяющий, заносить ли в поле редактора соответственно текст или замещающие его символы, а в третью часть помещается символ-заместитель. Символы, которые может содержать первая часть маски, представлены в таблице.
Символы для первой части маски свойства EditMask
Символ |
Описание |
А |
Обязательное расположение в данной позиции цифры или буквы |
а |
Необязательное расположение в данной позиции цифры или буквы |
С |
Обязательное расположение в данной позиции любого символа |
с |
Необязательное расположение в данной позиции любого символа |
L |
Обязательное расположение в данной позиции буквы |
l |
Необязательное расположение в данной позиции буквы |
0 |
Обязательное расположение в данной позиции цифры |
9 |
Необязательное расположение в данной позиции цифры |
# |
Необязательное расположение в данной позиции цифры или знаков «плюс» (+) либо «минус» (-) |
_ |
Заменитель пробела |
! |
Удаление из текста начальных пробелов
(без этого знака удаление завершающих пробелов) |
> |
Преобразует после этого знака буквы в прописные |
< |
Преобразование после этого знака букв в строчные |
<> |
Прекращение преобразования букв |
|
Выводит следующий символ так, как он задан в маске |
: |
Разделяет отдельные части при выводе времени |
/ |
Представляет собой разделитель даты |
Все остальные символы, используемые в маске, выводятся на экран в реальном виде. Если первая часть маски отсутствует, то остальные части тоже должны отсутствовать. И тогда строка ввода не использует маску.
Если третья часть не содержит знак-заместитель, то вместо него по умолчанию берется символ подчеркивания (_). Маска даты может иметь, например, такой вид: 199/99/00; 1;Х. Тогда на экране маска отобразится так: XX.XX.XX.
Если задана строка маски, то доступное только для чтения свойство isMasked устанавливается в true. Остальные свойства компонента повторяют соответствующие свойства TEdit.