Текстовые поля (TextBox, MaskedEdit, RichTextBox) — КиберПедия 

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Текстовые поля (TextBox, MaskedEdit, RichTextBox)

2022-10-29 26
Текстовые поля (TextBox, MaskedEdit, RichTextBox) 0.00 из 5.00 0 оценок
Заказать работу

Объект TextBox предназначен для ввода и вывода значений.

Специфичные свойства

Text  ‑ значение (типа Variant) поля.

MaxLength  ‑ максимально допустимое число символов в поле.

PassWordChar  ‑ символ, который выводится вместо вводимых сим­во­лов (на­при­мер, текст пароля), скрывая их от постороннего.

MultiLine =True ‑  позволяют вводить многострочный текст (для перехода на следующую строку нажимают клавиши ^Enter).

ScrollBars =True ‑ вывод линейки прокрутки в многострочном поле.

С событием Change  можно связать процедуру проверки пра­виль­ности вводимых данных или изменения свойств других объектов в зависимости от введенных значений (например, блокировать кнопки).

Числа вводятся, как строки, поэтому возможны ошибки при вводе, например: вместо нуля ввели букву “О”. Поэтому следует проверять пра­виль­ность ввода числа, например: в об­работчике события Validate указать: Cancel=Not IsNumeric(Text1.Text) либо восполь­зоваться объек­том Masked­Edit и его свой­ством Mask.

Пример процедуры выделения всего текста в поле Text1.

Private Sub Text1_GotFocus() ‘процедура получения фокуса

Text1.SelStart = 0                       ‘первая выделяемая позиция (п. 5.1)

Text1.SelLength=Len(Text1.Text) ‘длина всего текста для выделения

End Sub

Объект MaskedEdit  (компонент Microsoft Masked Edit Control 6.0) аналогичен TextBox, но имеет дополнительное свойство Mask    (мас­ка), задающее допустимые символы при вводе:

# ‑ допускаются символы: +, ‑, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, пробел;

? ‑ любая буква латинского алфавита;

A ‑ любая буква латинского алфавита или цифра;

& ‑ любой символ или пробел;

. ‑ десятичная точка (13.56);

, ‑  разделитель тысяч (10, 234, 345);

/ ‑ разделитель дат (07/08/99);

: ‑ разделитель времени (05:25).

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

Например, маска ввода номера телефона:  (###)##-##-##

При вводе символы разметки пропускаются автоматически. Запрещенные символы при вводе игнорируются.

Объект RichTextBox   (компонент   Microsoft Rich TextBox Con­trol 6.0 ) имеет дополнительные возможности: текст большого объ­ема, работа с различными шрифтами, цветами, отступы, выключки текста, форматирование текста типа RTF.

Надписи (Label)

Надписи служат для размещения текста (значение свойства Caption).

Специфичные свойства

AutoSize =True ‑ установить размер надписи по числу символом в надписи. BorderStyle =1 ‑ окружить текст рельефной рамкой.

BackStyle =Transparent ‑ окружение текста прозрачное, что улучшает вид надписи, выводимой на фоне рисунка.

WordWrap  ‑ перенос слов на следующую строку при AutoSize=False.

Пример. Составить программу ‑ игру “Угадай число” (рис. 6.4.1).

В поле Text1 задается число N для формирования случайного поло­жи­тельного целого числа в интервале [1,N], и это число должен угадать игрок. Кнопкой Загадать число (Command1) формируется это случайное чис­ло. Игрок вводит предполагаемое число в поле Text2 и нажимает кноп­ку Попытка. Если это число больше загаданного, то в поле Text3 (Ре­зуль­тат) выводится текст подсказки “Перелет”. Если это число меньше за­га­данного, то выводится текст “Недолет”. Наконец, при совпадении выво­дит­ся текст “Угадал”. Число использованных попыток выводится в поле Теxt4. Кнопкой Очистить (Command3) все поля очищаются. При проек­ти­­ровании формы и в процедуре обработки кнопки Очистить свойству Text для полей Text1, Text2, Text4 присвоим нулевое значение, а для поля Text3 ‑ пробельное значение.

 

                             Рис. 6.4.1. Вид формы

 

Приведем тексты процедур программы.

‘(General)(Declarations) раздел глобальных объявлений формы

Public i As Integer   ‘объявление переменной I ‑ загадываемое число

Private Sub Text1_Change() ‘обработка текущего значения поля Text1

Dim Flag As Boolean ‘объявление логической переменной Flag

‘условие возможности ввода и проверки предполагаемого загаданного числа

Flag = IsNumeric(Text1.Text) And (i > 0) And IsNumeric(Text2.Text)

Command1.Enabled = IsNumeric(Text1.Text) ‘условие доступности Command1

Command2.Enabled = flag                          ‘условие доступности Command2

Text2.Enabled = flag                                    ‘условие доступности поля Text2

End Sub

Private Sub Text2_Change() ‘обработка текущего значения поля Text2

Command2.Enabled = IsNumeric(Text2.Text) ‘условие доступности Command2

End Sub

Private Sub Command1_Click() ‘обработка кнопки “Загадай число ”

Randomize Timer           ’включение счетчика случайных чисел

i =1+(Text1.Text ‑ 1)*Rnd ‘формирование угадываемого случайного числа

Text2.Enabled = True    ‘разблокировка поля Text2 для ввода

Text2.SetFocus         ‘установка фокуса на поле Text2

End Sub

Private Sub Command2_Click() ‘обработка кнопки “Попытка ”

If Text2.Text > i Then  ‘введенное число больше загаданного

Text3.Text = ”перелёт” ‘вывод подсказки

ElseIf Text2.Text < i Then ‘введенное число меньше загаданного

Text3.Text = ”недолёт” ‘вывод подсказки

Else                              ‘введенное число равно загаданному

Text3.Text = ”угадал”

End If

Text4.Text = Text4.Text + 1 ‘увеличение числа попыток на единицу

Text2.SetFocus               ‘установка фокуса на поле Text2

End Sub

Private Sub Command3_Click() ‘обработка кнопки “Очистить ”

Text1.Text = 0                  ‘очистка нулем поля Text1

Text2.Text = 0                  ‘очистка нулем поля Text2

Text3.Text = ””                 ‘очистка пробелами поля Text3

Text4.Text = 0                  ‘очистка нулем поля Text4

i = 0                                   ‘очистка нулем случайного угадываемого числа

Text1_Change ‘выполнение процедуры обработки значения поля Text1

Text1.SetFocus ‘установка фокуса на поле Text1

End Sub

Private Sub Command4_Click() ‘обработка кнопки “Выход ”

End ‘окончание работы программы

End Sub

Private Sub Text2_DblClick() ‘двойной щелчок по полю Text2

Text2.Text = i ‘в поле Text2 помещается загаданное число

Command2_Click ‘вызов процедуры обработки кнопки “Попытка”

End Sub

Private Sub Form_Activate() ‘активизация формы перед ее выводом

Command3_Click                   ‘вызов процедуры обработки кнопки “Очистить”

End Sub

 

Рамки (Frame)

Внутри рамок обычно размещают логически связанные объекты, и они перемещаются вместе с перемещением рамки. Вначале следует разместить рамку, потом объекты внутри нее, а не наоборот. Свойство Caption снабжает рамку названием.


Поделиться с друзьями:

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

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.018 с.