Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Пример ListDemo




Приложение ListDemo (рис 5.4.3) демонстрирует основные операции с элементом ListBox.

Рис. 5.4.3. Приложение ListDemo демонстрирует большинство операций с элементом ListBox

На форму помещены два элемента ListBox, работающие по-разному. Конфигурация первого элемента стандартна, одновременно может быть выбран только один пункт, а новые пункты включаются в конец списка. Во втором же элементе значение свойства Sorted установлено равным True, значение свойства MultiSelect - 2 (Extended). Таким образом, пункты второго элемента всегда отсортированы, и пользователь может выбрать любое число пунктов (с помощью мыши, удерживая нажатыми клавиши Shift или Ctrl).

В коде приложения ListDemo реализован полный набор логических функций, необходимых при работе с программой управления элемента ListBox. Программный код позволяет:

§ добавлять и удалять пункты;

§ переносить пункты между списками;

§ управлять множеством выбранных пунктов;

§ поддерживать сортировку списков.

Кнопка Add New Element. (Включить в список). Использует функцию InputBox(), для приглашения пользователя выполнить ввод новой строки в списки элементов.

Фрагмент программы. Кнопки Add New Element

Private Sub Command5_Click()

Dim listItem As String

listItem = InputBox("Enter item to add to the list")

‘(Введите добавляемый в список элемент)

If Trim(listItem) <> "" Then

List1.AddItem listItem

End If

End Sub

Подпрограмма проверяет данные, введенные пользователем, не допуская ввод в список пустой строки. Программный код кнопки Clear List (Очистить список) удаляет все записи списка, вызывая метод Clear.

Кнопка Remove Selected Item(s). Программный код кнопки Remove Selected Item. (Удалить выбранный пункт) отличается от программного кода кнопки Remove Selected Items (Удалить выбранные пункты). В первом элементе ListBox можно выбрать только один пункт, а во втором - несколько. Как было уже сказано, удаляемый пункт сначала должен быть выбран.

Фрагмент программы. Кнопка Remove Selected Item.

Private Sub Command3_Click()

If List1.ListIndex > 0 Then

List1.RemoveItem List1.ListIndex

End If

End Sub

Программный код кнопки Remove Selected Items просматривает все пункты списка, а затем удаляет только выделенные.

Фрагмент программы. Кнопка Remove Selected Item

Private Sub Command4_Click()

Dim i As Integer

If List2.SelCount = 1 Then

List2.RemoveItem List2.ListIndex

ElseIf List2.SelCount > 1 Then

For i = List2.ListCount - 1 To 0 Step -1

If List2.Selected(i) Then

List2.RemoveItem i

End If

Next

End If

End Sub

В данном коде проверяется свойство SelCount, указывающее число выбранных пунктов. Если значение свойства SelCount равно единице, то программа удаляет пункт. Если же выбрано несколько пунктов, программа просматривает весь список и удаляет все пункты, у которых значение свойства Selected равно True. Обратите внимание: список просматривается с конца.

Фрагмент программы. Кнопка со стрелкой вправо

Private Sub Command1_Click()

If List1.ListIndex >= 0 Then

List2.AddItem List1.Text

List1.RemoveItem List1.ListIndex

End If

End Sub

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

Фрагмент программы Кнопка со стрелкой влево

Private Sub Command2_Click()

Dim i As Integer

 

If List2.SelCount = 1 Then

List1.AddItem List2.Text

List2.RemoveItem List2.ListIndex

ElseIf List2.SelCount > 1 Then

For i = List2.ListCount - 1 To 0 Step -1

If List2.Selected(i) Then

List1.AddItem List2.List(i)

List2.RemoveItem i

End If

Next

End If

End Sub

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




Поделиться с друзьями:


Дата добавления: 2014-12-23; Просмотров: 305; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.