- •1. Специальные конструкции языка 6
- •Введение
- •Специальные конструкции языка
- •Пользовательские типы данных
- •Типизированные файлы
- •Текстовые файлы
- •Нетипизированные файлы
- •Обработка ошибок
- •Оператор On Error
- •Объект Err
- •Обработка событий мыши и клавиатуры
- •Обработка событий мыши
- •Обработка событий клавиатуры
- •1.5. Элемент управления MaskedEdit
- •Графика
- •Элементы управления для графических изображений
- •Генерация графических изображений (примитивов)
- •Графические методы
- •Координаты элементов управления.
- •Примеры использования графических методов
- •Задания для самостоятельной работы
- •Работа с таймером
- •Анимация графических изображений
- •Основные свойства и методы
- •Примеры создания эффектов анимации
- •Варианты заданий по анимации для самостоятельной работы
- •Стандартные диалоговые окна
- •Работа с базами данных в vb
- •Элемент управления Data
- •Объект Recordset
- •Элемент управления msFlexGrid
- •Элемент управления ms Data Bound Grid
- •Использование языка sql в vb для работы с базами данных
- •Литература
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
Специальные символы и литералы
Символ |
Значение |
\ |
Символ, непосредственно предшествующий литералу. |
: |
Разделитель времени (час., мин. и сек.), является литералом |
/ |
Разделитель даты (дней, месяцев и лет), является литералом. |
. |
Разделитель десятичной дроби, является литералом. |
‘ |
Разделитель тысяч. |
> |
Символ, после которого все вводимые буквы преобразуются к верхнему регистру. |
< |
Символ, после которого все вводимые буквы преобразуются к нижнему регистру. |
Примеры.
Mask=”” – маска не задана. Аналог стандартного текстового окна TextBoх.
Mask=”##/##/##” – маска для даты в коротком формате, например, 05/01/04.
Mask=”##:##” – маска для времени в коротком формате, например, 17:05.