Смекни!
smekni.com

Основы программирования в среде Visual Basic for Application VBA (стр. 5 из 21)

Элемент управления ListBox (список) создается с помощью кнопки Список (ListBox) (рис. 2.11). Элемент управления ListBox применяется для хранения списка значений. Из списка пользователь может выбрать одно или несколько значений, которые в последующем будут использоваться в тексте программы.

Рисунок 2.11 Список в форме

Приведем наиболее часто используемые свойства элемента управления ListBox.


Listlndex Возвращает номер текущего элемента списка. Нумерация элементов списка начинается с нуля
ListCount Возвращает число элементов списка
Toplndex Возвращает элемент списка с наибольшим номером
ColumnCount Устанавливает число столбцов в списке
TextColumn Устанавливает столбец в списке, элемент которого возвращается свойством Text
Enabled Допустимые значения: True (запрещен выбор значения из списка пользователем) и False (в противном случае)
Text Возвращает выбранный в списке элемент
List Возвращает элемент списка, стоящий на пересечении указанных строки и столбца. Синтаксис: List(row, column)
RowSource Устанавливает диапазон, содержащий элементы списка
Control Source Устанавливает диапазон (ячейку), куда возвращается выбранный элемент из списка
MultiSelect Устанавливает способ выбора элементов списка. Допустимые значения:– fmMultiSelectSingle (выбор только одного элемента);– fmMultiSelectMulti (разрешен выбор нескольких элементов посредством либо щелчка, либо нажатием клавиши <Пробел>);– fmMultiSelectExtended (разрешено использование клавиши <Shift> при выборе ряда последовательных элементов списка)
Selected Допустимые значения: True (если элемент списка выбран) и False (в противном случае). Используется для определения выделенного текста, когда свойство MultiSelect имеет значение fmMultiSelectMulti или fmMultiSelectExtended
ColumnWidths Устанавливает ширину столбцов списка. Синтаксис:ColumnWidths = String- String – строка, устанавливающая ширину столбцов.В следующем примере устанавливается ширина каждого из трех столбцов списка:With ListBox1 .ColumnCount = 3 .ColumnWidths = "20;30;30" End With
ColumnHeads Допустимые значения: True (выводятся заголовки столбцов раскрывающегося списка) и False (в противном случае)
ListStyle Допустимые значения:– fmListStyleplain (выбранный элемент из списка выделяется цветом);– fmListStyleOption (перед каждым элементом в списке располагается флажок и выбор элемента из списка соответствует установке этого флажка)
MatchEntry Выводит первый подходящий элемент из списка при наборе его имени на клавиатуре. Допустимые значения: – fmMatchEntryNone (режим вывода подходящего элемента в списке отключен);– fmMatchEntryFirstLetter(выводит подходящий элемент по набранной первой букве. В этом случае, предпочтительно, чтобы элементы списка были бы упорядочены в алфавитном порядке);– fmMatchEntryComplete (выводит подходящий элемент по полному набранному имени)
BoundColumn Устанавливает тип, возвращаемый свойством Value. А именно, если свойство BoundColumn равно 0, то свойство value возвращает индекс выбранной строки, т. е. в этом случае оно действует как свойство Listindex. Если свойство BoundColumn принимает значение из диапазона от 1 до количества столбцов в списке, то свойствоValue возвращает элемент из выбранной строки, стоящий в столбце, определенном свойством BoundColumn

Приведем наиболее часто используемые методы элемента управления ListBox.

Clear Удаляет все элементы из списка
Remove Item Удаляет из списка элементы с указанным номером. Синтаксис:Remove Item (index) index — номер, удаляемого из списка элемента
Add Item Добавляет элемент в список. Синтаксис:Addltem ( [ item [, varIndex]]) -item — элемент (строковое выражение), добавляемый в список-varlndex — номер добавляемого элемента

Заполнение списка

Заполнить список можно одним из следующих способов

Поэлементно, если список состоит из одной колонки(рис. 2.12) With ListBox1 .AddItem “Июнь” .AddItem “Июль” .AddItem “Август” .ListIndex = 0End With

Рисунок 2.12 Список с одной колонкой элементов


Массивом, если список состоит из одной колонки With ListBoxl.List = Array("Июнь","Июль","Август").Listlndex = 1End With
Из диапазона a1: B4, в который предварительно введены элементы списка. Результат выбора (индекс выбранной строки) выводится в ячейкуС1 With ListBoxl.ColumnCount = 2.RowSource = "A1:B4".ControlSource = "С1".BoundColumn = 0End With
Поэлементно, если список состоит из нескольких колонок, например двух With ListBoxl.ColumnCount = 2.Addltem "Июнь".ListfO, 1) = "Сессия".Addltem "Июль".Listfl, 1) = "Каникулы".Addltem "Август".List (2, 1) = "Каникулы"End With
Массивом, если список состоит из нескольких колонок, например двух Dim A (2, 1) As StringA(0, 0) = "Июнь"A(0, 1) = "Сессия"A(1, 0) = "Июль"А(1, 1) = "Каникулы"A(2, 0) = "Август"A(2, 1) = "Каникулы"With ListBox1.ColumnCount = 2.List = A End With

Выбор нескольких элементов из списка

Свойство Multiselect позволяет устанавливать режим, при котором допустим выбор нескольких элементов из списка. Свойство Selected предоставляет возможность проверить, выбран ли элемент с указанным индексом. На рис. 2.13 показан выбор нескольких элементов из списка. Приведём пример использования этих свойств при вычислении среднего значения выбранных в списке элементов.


Рисунок 2.13 Выбор нескольких элементов из списка

With ListBox1

.List = Array(1, 3, 4, 5, 6, 7, 8, 9)

.Listlndex = 0

.MultiSelect = fmMultiSelectMuIti

Среднее = 0

n = 0

For i = 0 То .ListCount – 1

If .Selected(i) = True Then

n = n + l

Среднее = Среднее + .List(i)

End If

Next I

End With

Среднее = Среднее / n

2.8.6 Поле со списком

Элемент управления СоmbоВох (поле со списком) создается с помощью кнопки Поле со списком (ComboBox) (рис. 2.14). Элемент управления ComboBox применяется для хранения списка значений. Он сочетает в себе функциональные возможности списка ListBox и поля TextBox. В отличие от ListBox, в элементе управления СomboВох, отображается только один элемент списка. Кроме того, у него отсутствует режим выделения нескольких элементов списка, но он позволяет вводить значение, используя поле ввода, как это делает элемент управления TextBox.

Свойства объекта СomboВох, такие как Listlndex, ListCount, Enabled, List и методы Clear, RemoveItem и AddItem аналогичны соответствующим свойствам и методам списка ListBox. Кроме того, у него есть ряд уникальных свойств.

Рисунок 2.14 Поле со списком в форме

Приведем наиболее употребляемые из уникальных свойств элемента управления СоmbоВох.

DropButtonStyle Устанавливает вид раскрывающегося списка. Допустимые значения:– FmDropButtonStylePlain(кнопка без символов);– FmDropButtonStyleArrowDisplays (кнопка со стрелкой);– FmDropButtonStyleEllipsis (кнопка с эллипсом);– FmDropButtonStyleReduce (кнопка с линией)
ListRows Устанавливает число элементов, отображаемых в раскрывающемся списке
MatchRequired Допустимые значения: True (в поле ввода раскрывающегося списка нельзя ввести значения, отличные от перечисленных в списке, т. е. в поле со спискам отключается функция поля ввода) и False (в противном случае)
MatchFound Допустимые значения: True (среди элементов раскрывающегося списка имеется элемент, совпадающий с вводимым в поле ввода раскрывающегося списка) и False (в противном случае)

2.8.7 Полоса прокрутки и счетчик

Элемент управления ScrollBar (полоса прокрутки) создается с помощью кнопки Полоса прокрутки (ScrollBar) (рис. 2.15).

Рисунок 2.15 Полоса прокрутки и счетчик в форме

Приведем наиболее часто используемые свойства элемента управления ScrollBar.

Value Возвращает текущее значение полосы прокрутки (только целые неотрицательные числа)
Min Минимальное значение полосы прокрутки (только целые неотрицательные числа)
Max Максимальное значение полосы прокрутки (только целые неотрицательные числа)
SrnallChange Устанавливает шаг изменения значения при щелчке по одной из стрелок полосы прокрутки
Enabled Допустимые значения: True (пользователь может изменить значение полосы прокрутки) и False (в противном случае)
Visible Допустимые значения: True (полоса прокрутки отображается во время выполнения программы) и False (в противном случае)

Элемент управления SpinButton (счетчик) создается с помощью кнопки Счетчик (SpinButton) (рис. 2.15). Элемент управления SpinButton по своим функциональным возможностям аналогичен полосе прокрутки. Если не быть чрезмерным буквоедом, то можно сказать, что счетчик – это полоса прокрутки без ползунка. Счетчик имеет те же свойства Value, Min, Mах, Enabled, Visible и SmallChange, что и полоса прокрутки.