Высокоуровневые методы информатики и программирования. Степанов А.Г. - 87 стр.

UptoLike

Составители: 

87
тя, при необходимости, свойством ColumnCount может быть задано несколько столб-
цов. Если количество элементов в списке превышает количество возможных ото-
бражаемых элементов, автоматически появляются полосы прокрутки.
Первоначально список пуст. Добавить в него элементы можно за счет исполь-
зования свойства AddItem. Необходимо помнить, что добавленные элементы хранят-
ся в списке до конца выполнения программы. Поэтому, если список многократно вы-
зывается одинаковой процедурой, то записи в нем начинают повторяться. Для пре-
дотвращения этого необходимо перед активацией списка дополнительно очищать
его методом Clear.
В процессе работы со списком пользователь выделяет одну из записей. Но-
мер выбранной записи можно узнать, воспользовавшись свойством ListIndex. Оно
доступно только во время выполнения программы. Это свойство устанавливает и
возвращает текущий выбранный элемент. Если выбран первый элемент списка, зна-
чение свойства равно 0. Следующий элемент списка дает значение свойства 1, сле-
дующий 2 и так далее. Если не выбрано ни одно значение списка, то значение свой-
ства -1. Отметим, что установка значения свойства ListIndex вызывает появление со-
бытия Click для этого списка. Кроме этого, значение текущего выбранного элемента
может быть получено с помощью свойства Text.
Еще одна возможность доступа к элементам списка реализуется через свой-
ство List. При его использовании список рассматривается как массив, нижнее значе-
ние индексов которого равно 0.
Пример 28. Программа обработки события GotFocus с использованием
свойств Clear, ColumnCount, AddItem, List таблицы рис. 12:
Private Sub ListBox1_GotFocus()
Dim Строка_списка As Integer, Колонка_списка _
As Integer, Элементов As Integer, i As Integer
'Задание начального адреса размещения и количества элементов списка
Строка_списка = 3
Колонка_списка = 1
Элементов = 4
'Очистка списка и подготовка к его заполнению
ListBox1.Clear
ListBox1.ColumnCount = 2
'Заполнение списка тем
For i = 0 To Элементов - 1
ListBox1.AddItem (Cells (Строка_списка + i, Колонка_списка).Value)
ListBox1.List(i, 1) = Cells(Строка_списка + i, Колонка_списка + 1).Value
Next i
End Sub