Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


VBA Excel. Элементы управления. Свойства и назначения.



Элементы управления в приложениях VBA

Кнопки управления

Большинство приложений VBA имеет кнопки управления, простым нажатием которых пользователь может выполнять разнообразные действия. Когда пользователь нажимает кнопку, то не только выполняется соответствующее ей действие, но и она сама выглядит так, как будто ее вдавливают, а потом отпускают. При щелчке на кнопке вызывается событие click (Щелчок). Для выполнения определенных действий при щелчке на кнопке в процедуру обработки события click помещается соответствующий код.

Существует много способов " нажать" кнопку управления во время выполнения:

 Использовать мышь, щелкнув на кнопке

 Переместить фокус на кнопку, нажимая клавишу ТаЬ, и затем выбрать эту кнопку, нажав клавишу Spacebar (пробел) или Enter (ввод).

 Нажать клавишу доступа (Аlt+< подчеркнутая буква в названии клавиши> ) к данной для кнопки управления.

 Нажать кнопку управления программным путем, для чего любым способом (вручную с помощью окна свойств или с помощью оператора в программе) установить значение свойства value (Значение) кнопки управления равным True (Истина), а затем с помощью оператора в программе вызвать процедуру обраьотки события click для этой кнопки.

 Если кнопка управления является кнопкой управления по умолчанию, выбрать эту кнопку, нажав клавишу Enter даже если в фокусе в данный момент оказывается другой элемент управления.

 Если кнопка управления no умолчанию является кнопкой отказа (cancel button), то, где бы не находился фокус, выбрать эту кнопку можно, нажав клавишу Esc.

Все эти действия заставляют систему VBA вызывать процедуру обработки события click.

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

Элементы управления Label (Метка) и TextBox (Текстовое поле) применяются для отображения или ввода текста. Метки используются для отображения текста на форме, а текстовые поля - когда необходимо предоставить пользователю возможность вводить текст. Текст в метках можно только читать, тогда как текст в текстовых полях можно редактировать. Назначение элементов управления поясняет табл.

Таблица. Назначение элементов управления для отображения и ввода текста

Элемент управления Назначение
Текстовое поле (TextBox) Ввод и отображение текста. Текст может редактироваться (изменяться) пользователем.
Метка (Label) Отображение не редактируемого текста, например, для обозначения поля на форме или отображения инструкции пользователю

Метки

Элемент управления Label отображает текст, который пользователь не может изменять. Метки можно использовать для идентификации элементов управления, например, текстовых полей и полос прокрутки, не имеющих собственного свойства caption (Надпись). Текст, отображаемый в элементе Label (метка), задается свойством Caption этого элемента. Оно может быть установлено во время разработки в окне Properties или во время выполнения оператором присваивания в программном коде.

По умолчанию надпись - единственная видимая часть элемента управления Label. Однако, если значение свойства BorderStyle установлено равным 1 (это можно сделать во время разработки), то метка появляется вместе с границей, что придает ей вид, похожий на вид текстового поля. Изменить внешний вид метки можно установкой свойств BackColor (цвет фона), BackStyle (Стиль фона), ForeColor (цвет букв) и Font (Шрифт).

Подгонка размеров метки к ее содержимому

Однострочные надписи в метке можно задавать во время выполнения в окне Properties. Но что делать, если необходимо вывести более длинные надписи, или надпись будет меняться во время выполнения? Метки имеют два свойства, которые помогают подгонять их размер для отображения надписей переменной длины. Это свойства AutoSize (авторазмер) и Wordwrap (ПереносСлов).

Свойство AutoSize определяет, следует ли автоматически изменять размер элемента управления, чтобы он соответствовал выводимым данным. Если значение этого свойства равно True, то горизонтальный размер метки увеличивается, чтобы на ней поместилась надпись. Свойство wordwrap увеличивает высоту метки, при этом ее ширина не меняется.

Текстовые поля

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

Текст, отображаемый в текстовом поле, управляется свойством Text (Текст). Его можно установить тремя различными способами: во время разработки в окне Properties, во время выполнения из программного кода или во время выполнения на основании данных, введенных пользователем. Текущее содержимое текстового поля можно получить во время выполнения, считывая значение свойства Text.

Многострочные текстовые окна и перенос слов

По умолчанию в текстовом поле отображается одна строка текста, полосы прокрутки не отображаются. Если текст длиннее доступного пространства, будет видна только часть текста. Вид и поведение текстового поля можно изменить, установив значения свойств Multi-Line и scroliBars, которые доступны только во время разработки.

Примечание

Свойство ScrcllEars не следует путать с элементом управления Scroll Bar (Полоса прокрутки), который не присоединяется к текстовым полям и имеет свой собственный набор свойств.

Установка значения свойства MultiLine равным True позволяет текстовому полю принимать и отображать много строк текста во время выполнения. Так как в многострочном текстовом поле нет горизонтальной полосы прокрутки, то оно автоматически управляет переходом на новую строку, если текст не помещается. По умолчанию значение свойства ScroliBars равно None (Нет). Автоматический переход на новую строку избавляет пользователя от необходимости вводить в конце строк символ разрыва строки. Если строка текста длиннее строки текстового поля, то текстовое поле переносит вывод строки на следующую строку.

Символ разрыва строки нельзя вводить в окне Properties во время разработки. В процедуре разрыв строки моделируется вводом символа возврата каретки, за которым следует символ перевода строки (символы с кодами ANSI 13 и 10 соответственно). Можно также использовать константу vbCrLf для ввода комбинации символов возврат каретки/перевод строки. Например, следующая процедура обработки события вводит две строки текста в многострочное текстовое поле (Textl) при загрузке формы:

Sub Fom_Load (}

Textl.Text = " Here are two lines" & vbCrLf & " in a text box" End Sub


Поделиться:



Последнее изменение этой страницы: 2019-04-09; Просмотров: 262; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.012 с.)
Главная | Случайная страница | Обратная связь