Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Visual Basic.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
175.1 Кб
Скачать

Использование списков.

Элемент управления ListBox применяется для хранения списка значений. В списке пользователь выбирает один или несколько элементов, которые затем используются в программе.

В VBA имеется возможность задать число элементов в списке, которые можно выбирать одновременно. Если допускается выделение нескольких пунктов, то имеется возможность указать также, что выбранные элементы списка расположены либо последовательно, либо их порядок является произвольным. Способ выбора элементов определяется значением свойства MultiSelect. Его можно задать как в окне свойств, так и в программе. В таблице показаны значения, которые соответствуют описанным вариантам выделения :

Вариант

Значение

Константа

Один элемент

0

FmMultiSelectSingle

Последовательные элементы

2

FmMultiSelectExtended

Произвольно расположенные элементы

1

FmMultiSelectMulti

Приведем пример задания варианта выбора:

ListBox1.MultiSelect = FmMultiSelectExtended.

Для добавления элементов списка используется метод AddItem, который задается с параметром - № пункта:

ListBox.AddItem строка_элемента

Например, Sub Pop_List()

For I = 1 to 100

ListBox1.AddItem «Номер элемента : » + Str$(i)

Next i

End Sub заполняет список числами.

Свойство Text элемента управления ListBox выделенный в объекте пункт, если в списке задан выбор только одного элемента. Если же в элементе ListBox допускается выбор нескольких элементов, то свойство Text равно пустой строке. Кроме того, для определения выбранного в списке элемента используется свойство ListIndex, оно содержит № выделенного пункта. При определении нескольких выделенных элементов списка, требуется проверить каждый пункт, чтобы выявить выбран он или нет. Для этого используется свойство Selected, которое при указании индекса проверяемого пункта, возвращает результат проверки : True или False. Свойство ListCount содержит общее число элементов в списке. Нижняя граница индексов этого объекта = 0, поэтому требуется просмотреть все пункты, начиная с нулевого и заканчивая элементом с № (ListCount-1), который является № последнего пункта в списке.

For i=0 to (ListBox1.ListCount-1)

If ListBox1.Selected(i) Then

ListBox2.AddItem ListBox1.List (i)

End If

Next i

В некоторых случаях требуется удалить элементы из списка с помощью метода RemoveItem объекта ListBox. Параметром метода является № удаляемого пункта: ListBox.RemoveItem (индекс_пункта). Например, для очистки списка

For i=1 to (ListBox1.ListCount-1)

LisBox1.RemoveItem i

Next i .

Использование полей со списком.

Объект ComboBox позволяет выбрать элемент из списка, либо ввести данные вручную. Текущее значение в поле со списком отображается в поле, а список возможных значений выводится при нажатии кнопки со стрелкой. Отличие ComboBox от ListBox в том, что в поле со списком можно явно выделить требуемое значение, кроме того в форме он занимает меньше места. В VBA имеется 2 типа элементов управления ComboBox. С помощью объектов 1 типа можно ввести в поле данные, которые затем можно использовать как :

  • Критерий выбора элементов в списке. Н-р, если список содержит названия цветов и вводятся символы СИНИЙ, то осуществляется перемещение на данный пункт списка.

  • Новое значение, например, для задания масштаба отображения. Если в списке отсутствует нужный масштаб, пользователь вводит его непосредственно в поле списка, и величина используется в качестве нового масштаба. В программе необходимо специально предусмотреть случай, когда введенного значения не имеется в списке.

При этом используются свойства MatchEntry и MachtRequired.

С помощью объектов 2 типа можно ввести в поле выбранный в списке элемент. В этом случае необходимо открыть список, а затем выбрать требуемый пункт списка. Элемент списка появляется в поле объекта ComboBox. Тип объекта ComboBox можно указать с помощью свойства Style. Его допустимые значения:

Тип

Значение

Константа

Ввод данных

0

FmStyleDropDownCombo

Выбор значения из списка

2

FmStyleDropDownList

Для заполнения элемента управления ComboBox используется метод AddItem с параметром, определяющем № требуемого пункта. Чтобы получить или установить значение, хранящееся в текстовой части поля со списком, используется свойство Text. При присваивании значения данному свойству автоматически выполняется следующее :

  1. Заданный текст выводится в поле. Однако если заданное значение не является элементом списка, то отображается сообщение об ошибке.

  2. Свойству ListIndex объекта ComboBox присваивается индекс элемента списка, соответствующего заданному значению.