logo
Лекции_ПиОА[1]

Кнопки управления как основа выполнения действий

В качестве кнопки можно использовать элемент управления Command Button (Кнопка управления), или разработать собственную "кнопку", используя элемент управления Image (Изображение), содержащий графику. Когда пользователь нажимает кнопку, то она выглядит, как будто ее вдавливают, а потом отпускают. При щелчке на кнопке вызывается событие Click (Щелчок). Для выполнения определенных действий при щелчке на кнопке в процедуру обработки события Click помещается соответствующий код. Нажать кнопку можно, используя мышь, либо переместив фокус на нее посредством клавиши Tab, а затем используя клавиши Spacebar (пробел) или Enter (ввод), либо нажав клавишу доступа (Alt+<подчеркнутая буква в названии клавиши>) к данной кнопке, либо программным путем установив значение свойства Value (Значение) кнопки равным True (Истина). Если кнопка является кнопкой управления по умолчанию достаточно нажать клавишу Enter. Если кнопка no умолчанию является кнопкой отказа (Cancel Button), то ее выбор осуществляется по клавише Esc. Все эти действия вызывают процедуру обработки события Click.

Элементы управления для отображения и ввода текста

Элементы управления Label (Метка) и TextBox (Текстовое поле) применяются для отображения или ввода текста на форме.

Метка. Отображает текст, который пользователь не может изменять. Метки можно использовать для идентификации элементов управления, например, текстовых полей и полос прокрутки, не имеющих собственного свойства Caption (Надпись). Текст задается свойством Caption элемента. Оно может быть установлено во время разработки в окне Properties или во время выполнения оператором присваивания в программном коде. По умолчанию надпись - единственная видимая часть элемента Label. Однако если значение свойства BorderStyle установлено равным 1, то метка появляется вместе с границей, что придает ей вид, похожий на вид текстового поля. Внешний вид метки изменяется установкой свойств BackColor (Цвет Фона), BackStyle (Стиль Фона), ForeColor (Цвет Букв) и Font (Шрифт). Для задания длинных надписей, или надписей с меняющейся во время выполнения длиной используются свойства AutoSize (Авторазмер) и WordWrap (Перенос Слов), которые подгоняют их размер под переменную длину надписи. Свойство AutoSize определяет, следует ли автоматически изменять размер элемента управления, чтобы он соответствовал выводимым данным. Если значение этого свойства равно True, то горизонтальный размер метки увеличивается, чтобы на ней поместилась надпись. Свойство WordWrap увеличивает высоту метки, при этом ее ширина не меняется.

Текстовые поля. Гибкие элементами управления. Используются для ввода пользователем данных, и для отображения текста. Не рекомендуется использовать для отображения не изменяемого текста, если только значение свойства Locked (Заблокирован) не установлено в True. Отображение в поле управляется свойством Text (Текст). Оно устанавливается во время разработки в окне Properties, во время выполнения из программного кода или на основе данных, введенных пользователем. Текущее содержимое поля можно получить во время выполнения, считывая значение свойства Text.

Многострочные текстовые окна и перенос слов. По умолчанию в текстовом поле отображается одна строка текста, полосы прокрутки не отображаются. Если размер текста превышает размер доступного пространства, будет видна только часть текста. Вид и поведение поля можно изменить, посредством свойств Multi-Line и ScroliBars, которые доступны только во время разработки. Установка Multi-Line в True позволяет полю принимать и отображать много строк текста во время выполнения. Оно само управляет переходом на новую строку, если текст не помещается. По умолчанию значение свойства ScroliBars равно None (Нет). Автоматический переход на новую строку избавляет пользователя от необходимости вводить в конце строк символ разрыва строки. Если строка текста длиннее строки поля, то оно переносит вывод строки на следующую строку. Символ разрыва строки нельзя вводить в окне Properties во время разработки. В процедуре разрыв строки моделируется вводом символов возврата каретки (ВК) и перевода строки (ПС) с кодами ANSI 13 и 10. Можно также использовать константу VbCrLf для ввода символов ВК и ПС. Например, следующая процедура обработки события вводит две строки текста в поле Text1 при загрузке формы.

Sub Form_Load (}

Text1.Text = "Here are two lines" & vbCrLf & "in a text box"

End Sub

Работа с текстом в текстовом поле. Свойства SelStart, SelLength и SelText управляют точкой ввода и поведением выделенного фрагмента (Selection Behavior) в текстовом поле. Они доступны только во время выполнения. Когда поле впервые получает фокус, то по умолчанию точка ввода (положение курсора) располагается слева от текста. Пользователь может его изменить с клавиатуры или с помощью мыши. Если поле теряет, а затем вновь приобретает фокус, точка ввода будет находиться там, где пользователь установил ее в последний раз. Свойства SelStart и SelLength модифицируют поведение поля, приспосабливая его к вводу новых символов после уже существующего текста, либо к его полному замещению. Значением свойства SelStart является число, которое указывает место вставки в строке текста, причем 0 соответствует крайней левой позиции. Если значением свойства SelStart является число, равное или больше, чем число символов в текстовом окне, точка ввода находится сразу за последним символом. Число, равное значению свойства SelLength, задает ширину точки ввода. Если это число больше 0, то равное ему количество символов, начиная от текущей точки ввода, выбирается и выделяется. Если пользователь начинает ввод при выделенном блоке текста, то последний будет замещен вводимым текстом. При необходимости можно заменить выделенный текст новым с помощью команды Paste (Вставить) меню Edit (Правка). Значением свойства SelText является строка текста, которую можно присвоить во время выполнения и которая заменит выделенный текст. Если такового нет, то в текущую точку ввода помещается значение свойства SelText.