Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MS_VB_dop_vozm_5_04.doc
Скачиваний:
5
Добавлен:
19.11.2019
Размер:
1.64 Mб
Скачать

1.5. Элемент управления MaskedEdit

Элемент управления MaskedEdit является специальным редактором, который допускает ввод и вывод текста, соответствующего заданному шаблону, например, паролей, регистрационных номеров, дат и других данных, которые имеют определенный формат представления.

Свойство Mask (маска) этого элемента управления содержит шаблон ввода в виде строки. Если шаблон не определен (Mask=””), то элемент MaskedEdit работает как обычное текстовое окно (TextBoх).

Элемент MaskedEdit является потомком от стандартного текстового окна TextBoх [2-5], поэтому обладает всеми его свойствами. Такими свойствами являются: Name, Left, Top, Height, Width, Enabled, Visible, BorderStyle (тип границ), FontBold, FontItalic, FontName, FontSize, FontUnderline, BackColor (цвет фона), ForeColor (основной цвет), MaxLength (максимальная длина).

Введенная или выведенная в элемент отформатированная (наложенная на шаблон) текстовая строка содержится в свойстве Text (текст).

Из событий чаще используются:

Change (изменение) вызывается изменением содержимого свойства Text пользователем или программно. Ввод каждого нового символа определяет данное событие и вызов процедуры его обработки имя_элемента_Change.

Click (щелчок) или DblClick (двойной щелчок) - щелчок/двойной щелчок мышью в текстовом окне вызывает соответствующие процедуры обработки события имя_элемента_Click или имя_элемента_DblClick.

GotFocus (установка фокуса) и LostFocus (уход из фокуса) определяются тем, что в Windows-приложениях в каждый момент времени может быть активен (находится в фокусе) только один элемент управления. События определяются соответственно активизацией и деактивизацией элемента управления.

Метод SetFocus позволяет установить курсор в выбранное текстовое окно. Синтаксис: имя_элемента.SetFocus.

Опишем правила, применяемые при составлении шаблона. Каждому символу в поле ввода элемента (редактора) соответствует специальный символ в маске шаблона (табл.1.8), определяющий, что можно ввести на этом месте.

Таблица 1.8

Описатели маски ввода

Символ маски

Описание (означает, что на этом месте во вводимом тексте...)

А

Должен быть буквенно-цифровой символ, например, a –z, A –Z, 0-9.

а

Может быть буквенно-цифровой символ.

&

Должен быть любой символ ANSI из следующих диапазонов 32-126 и 128-255.

С

Может быть любой символ или пробел. Этот описатель маски схож с описателем & и обеспечивает совместимость с MS Access.

?

Должна быть буква, например, a –z, A –Z.

9

Может быть любая цифра, например, 0-9.

#

Должна быть любая цифра, например, 0-9

"Должен" означает, что пользователь обязан ввести в поле соответствующий символ, "может" - что не обязан. Например, шаблон "??##" обязывает пользователя ввести пароль из двух букв и двух цифр, a "??99" - из двух букв и не более двух цифр.

Кроме описателей полей ввода, в шаблоне могут быть литералы и другие форматирующие символы.

Литералами будем называть символы, которые появляются при отображении строки ввода, но не могут изменяться пользователем, и предназначены только для ее оформления. Перед литералом должен стоять символ '\'. Типичным примером применения литералов является их использование в шаблоне для ввода телефонных номеров. Для семизначного номера с возможностью ввода междугороднего кода можно использовать следующий шаблон: "\(999\)###-##-##". Тогда код города (если он есть) в отформатированном тексте будет заключен в скобки, например, (095)222-33-44.

Специальные символы (литералы) приведены в таблице 1.9.

Таблица 1.9

Специальные символы и литералы

Символ

Значение

\

Символ, непосредственно предшествующий литералу.

:

Разделитель времени (час., мин. и сек.), является литералом

/

Разделитель даты (дней, месяцев и лет), является литералом.

.

Разделитель десятичной дроби, является литералом.

Разделитель тысяч.

>

Символ, после которого все вводимые буквы преобразуются к верхнему регистру.

<

Символ, после которого все вводимые буквы преобразуются к нижнему регистру.

Примеры.

  1. Mask=”” – маска не задана. Аналог стандартного текстового окна TextBoх.

  2. Mask=”##/##/##” – маска для даты в коротком формате, например, 05/01/04.

  3. Mask=”##:##” – маска для времени в коротком формате, например, 17:05.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]