146_____________________________________________Глава 3

Например, маска для ввода номера телефона (см. рис. 3.1) может иметь вид:

(999)000-00-00;0;_

В этой маске символ 9 означает, что в соответствующей позиции может быть
только цифра. Символ О означает, что в данной позиции должна быть цифра. Сим-
вол подчеркивания в конце маски будет заполнять пустые позиции. Таким обра-
зом, пользователю для ввода в окне будет отображен шаблон:

(__)__-_-_

Если с помощью EditMask надо ввести, например, целое число без знака, со-
стоящее не более, чем из двух цифр, можно задать маску 99;0; . Если число обяза-
тельно должно быть двузначным, то маска должна иметь вид 00;0;.

В процессе проектирования вы можете вводить маску непосредственно в свой-
ство EditMask. Но проще воспользоваться специальным диалоговым окном
(рис. 3.4), которое открывается при нажатии в Инспекторе Объектов кнопки с мно-
готочием около свойства EditMask. В этом диалоге вы можете вводить и редакти-
ровать маску в окне InputMask, устанавливать или снимать индикатор Save Literal
Characters, определяющий сохранение символов маски в свойстве Text (втрой раз-
дел маски), вводить в окне Character for Blanks символ, используемый для обозна-
чения позиций, в которых еще не осуществлен ввод (третий раздел маски). При
этом в окне Test Input отображается вид текста, который будет видеть пользователь
перед вводом в компонент MaskEdit.

Окно задания маски         ^^Ма^-,,,1.1   \, _ J;_ ^p^adS|a|j^                ,

l|(999)000-00-00;1;_.; Phone[(4lli555?l212''~3;:-
^lieeji"''"1''11-11^11    :1^1,___ 4 Extension                15450                   !1?:

'    ffiaadei lot Blanks;     [~;Д Social Security          555-55-5555           ^
:                 ' fl; Short Zip Code          90504                 'У
^SayeytealChaiauteis          J, Long Zip Code          90504-0000            Д
\^,:,:,;      ,-,^,,,, .    :^Date                  OB.27.94              ||
ReEtSut-"" ~" """r"'""""""""'" '"""a Long Типе              09:05:15РМ            I:»
,;|^-?_?___________„__J|J Short Time              13:45                 |,|

ifiK'Mflski.-,, ,       :   • ;:'^',^,?,. .^ 'OK,|,, ^ Cancel   j,   ; Mps:. |

.•?ii;?'.y^,:..—•i;7^..-;-..':::?:1:"'-. 1                                 . .".•    •   ' .„...у.1.   ,     . • . •. •       1 ^.;:•:•:••.•::•.:••:,..            '.Э •.•,-..,.:.>::-tT'5ei'.^"?:W!Si.fe|.\..

tlj^fe^fe^^,''-________________________•'''BIji ' '"„.„•."'Л--""'11"1"' ,^1,11""1 -," —ЖЯ.^Д^Д:'

Окно Sample Masks позволяет выбрать шаблон среди заранее предопределен-
ных и потом отредактировать его. А кнопка Masks позволяет открыть новый файл
шаблонов.

3.2.4 Многострочные окна редактирования Memo и Richedit

Компоненты Memo и Richedit (см. пример на рис. 3.2) являются окнами ре-
дактирования многострочного текста. Они так же, как и окно Edit, снабжены мно-
гими функциями, свойственными большинству редакторов. В них предусмотрены
типичные комбинации «горячих» клавиш: Ctrl-C — копирование выделенного тек-
ста в буфер обмена Clipboard (команда Copy), Ctrl-X — вырезание выделенного тек-
ста в буфер Clipboard (команда Cut), Ctrl-V — вставка текста из буфера Clipboard в
позицию курсора (команда Paste), Ctrl-Z — отмена последней команды редактиро-
вания.

В компоненте Memo формат (шрифт, его атрибуты, выравнивание) одинаков
для всего текста и определяется свойством Font. Если вы сохраните в файле текст,
введенный или отредактированный пользователем, то будет создан текстовый
файл, содержащий только символы и не содержащий элементов форматирования.