Россия

ListBox

Дата публикации: 04.06.2015

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

Если число элементов в списке превышает число пунктов, которое список может вывести на экран, то в список автоматически добавляется полоса прокрутки.

Если нет выбранных элементов в списке, то значение свойства ListIndex равно -1. Первый пункт списка имеет значение ListIndex равным 0, а значение свойства ListCount всегда больше на единицу наибольшего значения ListIndex. Для добавления или удаления пунктов в список программным путем используйте методы AddItem или RemoveItem. Также вы можете добавлять элементы в список во время разработки, используя свойство List. Каждый пункт следует вводить отдельной строкой, нажимая комбинацию клавиш Ctrl + Enter. Завершив ввод пунктов, нажмите клавишу Enter, и они отобразятся в элементе ListBox на форме.

Свойства

Некоторые свойства ListBox можно установить только в режиме проектирования и их нельзя изменять во время работы приложения  

BackColor

Устанавливает цвет фона.

ListBox1. = QBColor (9)

BorderColor

?????

BorderStyle

Стиль рамки (объемная или нет)

ListBox1.BorderStyle = fmBorderStyleSingle

fmBorderStyleNone -объемная (по умолчанию)

fmBorderStyleSingle — без объема

BoundColumn

Устанавливает тип, возврощаемый свойством Value.

А именно: ListBox1.BoundColumn = 0 — возвращает индекс строки (то же ListIndex), от 1 до количества столбцов в списке возвращает элемент из строки стоящий в определенном столбце.

Cancel

???

ListBox1.Cancel = False ???

Column

????

ColumnCount

Устанавливает число столбцов в списке

ListBox1.ColumnCount = 10

ColumnHeads

Допустимые значения: True — Выводятся заголовки столбцов, False — в противном случае

ListBox1.ColumnHeads = False

ColumnWidths

Устанавливает ширину столбцов списка.

ListBox1.ColumnWidths = String

??? -String

ListBox1.ColumnWidths=“20;30;30»

ControlSource

Устанавливает диапазон  (ячейку), куда возвращается выбранный элемент из списка.

ControlTipText

???

Default

????

Enabled

Доступ к выбору значения

ListBox1.Enabled = False

Font

?????

ForeColor

Цвет текста

ListBox1.ForeColor = QBColor (9)

Height

Высота окна

ListBox1.Height=30

HelpContextID

????

IMEMode

????? проверить действие

ListBox1.IMEMode = fmIMEModeOff

IntegralHeight

?????

ListBox1.IntegralHeight = True

LayoutEffect

?????

Left

Отступ от левой границы формы

ListBox1.Left = 100

List

Массив пунктов списка. Элемент массива List (0) содержит первый пункт списка, элемент List (1) — второй и т.д., вплоть до последнего элемента — List (ListCount-1).

Возвращает элемент списка стоящий на пересечении указанных строки и столбца.

List (row, column)

ListCount

Возвращает число пунктов списка. Доступ к ним можно получить с помощью значений индексов в диапазоне от 0 до ListCount-1

ListIndex

Представляет собой индекс выбранного пункта списка. При выборке нескольких пунктов ListIndex представляет индекс последнего выбранного пункта. Если не выбран ни один элемент, значение ListIndex = -1. Это свойство можно использовать для выбора или удаления конкретных пунктов. Так, следующий код удаляет выбранный пункт элемента

List1.RemoveItem List1.ListIndex

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

ListStyle

Выделенный элемент выделяется «галочкой»

ListBox1.ListStyle = fmListStyleOption

Выделенный элемент выделяется «цветом»

ListBox1.ListStyle = fmListStylePlain

Locked

??? Нет доступа к выбору

ListBox1.Locked = True

MatchEntry

??????

ListBox1.MatchEntry = fmMatchEntryComplete

ListBox1.MatchEntry = fmMatchEntryFirstLetter

ListBox1.MatchEntry = fmMatchEntryNone

MouseIcon

???

MousePointer

Определение типа курсора

Стрелка с песочными часами

ListBox1. = fmMousePointerAppStarting

Стрелка

ListBox1.MousePointer = fmMousePointerArrow

Перекрестие

ListBox1.MousePointer = fmMousePointerCross

Стрелка

ListBox1.MousePointer = fmMousePointerCustom

Стрелка

ListBox1.MousePointer = fmMousePointerDefault

Стрелка с знаком вопроса

ListBox1.MousePointer = fmMousePointerHelp

Песочные часы

ListBox1.MousePointer = fmMousePointerHourGlass

Стрелка типа «I

ListBox1.MousePointer = fmMousePointerIBeam

Зачерктнутый круг

ListBox1.MousePointer = fmMousePointerNoDrop

Крест из стрелок

ListBox1.MousePointer = fmMousePointerSizeAll

Стрелка диагональная /

ListBox1.MousePointer = fmMousePointerSizeNESW

Стрелка вверх

ListBox1.MousePointer = fmMousePointerSizeNS

Стрелка диагональная \

ListBox1.MousePointer = fmMousePointerSizeNWSE

Стрелка горизонтальная

ListBox1.MousePointer = fmMousePointerSizeWE

Стрелка вверх

ListBox1.MousePointer = fmMousePointerUpArrow

MultiSelect

Определяет метод выборки пунктов списка. Его значение задается при конструировании. Во время работы приложения значение свойства доступно только для чтения. Значение свойства MultiSelect определяет, может ли пользователь выбрать несколько пунктов списка и метод выборки.

0 (None) — Выбор нескольких пунктов запрещен (по умолчанию)

ListBox1.MultiSelect = fmMultiSelectSingle

1 (Simple) — Простой выбор нескольких пунктов. Щелчок кнопкой мыши (или нажатие клавиши пробела) выбирает или отменяет пункт списка. Для перемещения фокуса на другой пункт используйте клавиши со стрелкой

ListBox1.MultiSelect = fmMultiSelectMulti

2 (Extended) — Расширенный выбор нескольких пунктов. Для выбора нескольких пунктов подряд нажмите клавишу Shift, а затем щелкайте на пунктах мышью (или нажимайте клавиши со стрелкой). Все пункты списка между ранее выбранным и текущим пунктами подсветятся. Чтобы выбрать произвольно расположенные элементы списка (или отменить выбор), нажмите клавишу Ctrl и щелкните на пункте кнопкой мыши

ListBox1.MultiSelect = fmMultiSelectExtended

Name

Выводит имя элемента управления

а= ListBox1.Name

Возвращает например а= ListBox1

Object

???

OldHeight

???

OldLeft

???

OldTop

???

OldWidth

???

Parent

????

RowSource

Устанавливает диапозон содержащий элементы списка

RowSourceType

???

Selected

Представляет собой массив, подобный свойству List. Если пункт списка выбран, значение свойства Selected данного пункта равно True. В противном случае значение свойства равно False

ListBox1.Selected = False

SpecialEffect

Внешний вид границ элемента

ListBox1.SpecialEffect = fmSpecialEffectBump

ListBox1.SpecialEffect = fmSpecialEffectEtched

ListBox1.SpecialEffect = fmSpecialEffectFlat

ListBox1.SpecialEffect = fmSpecialEffectRaised

ListBox1.SpecialEffect = fmSpecialEffectSunken

TabIndex

????

TabStop

????

ListBox1.TabStop = True

Tag

???

Text

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

TextAlign

Форматирование выведенного текста

ListBox1.TextAlign = fmTextAlignCenter -- по центру

ListBox1.TextAlign = fmTextAlignLeft -- слева

ListBox1.TextAlign = fmTextAlignRight -- справа

TextColumn

Устанавливает столбец в списке, элемент которого возвращается свойством Text

ListBox1.TextColumn = 10

Top

Отступ элемента от верхней части формы

ListBox1.Top = 80

TopIndex

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

Value

???

Visible

Видимость объекта

ListBox1.Visible = False

Width

Ширина элемента

ListBox1.Width = 50

SelCount

???

Отображает число выбранных пунктов элемента ListBox, если значение свойства MultSelect установлено равным 1 (Simple) или 2 (Extended). Обычно это свойство используют вместе с массивом Selected для работы с выбранными пунктами элемента

Sorted

???

Предоставляет возможность автоматической сортировки элементов списка. Для этого установите значение свойства Sorted равным True. Сделать это можно только во время проектирования. Для сортировки чисел сначала отформатируйте их, добавив нули в начале каждого числа. Так как, число 10 всегда будет отображаться перед числом 7, поскольку строка “10“ меньше строки “7“ (она начинается с единицы). Если же числа форматировать как “010“ и “007», то сортировка будет корректна. Пункты в элементе ListBox сортируются по возрастанию с учетом регистра. Элементы «aa», «aA», «AA, „Aa“, „Ba“ и „BA“ сортируются следующим образом. „AA“„Aa“„aA“„aa“ «BA „Ba“.

Style

???

Определяет внешний вид элемента. Имеет два значения: 1 — Standard и 2 — Checkbox

 

 

 


 

Методы

AddItem

Используется для добавления пунктов в список.

List1.Additem item, index

Параметр item — строка, добавляемая в список, a index — ее порядковый номер (необятельный аргумент — если его опустить, строка добавляется в конец списка). Если значение свойства Sorted равно True, то пункт вставляется в соответствующее место списка, независимо от значения аргумента index

RemoveItem

Используется для удаления пункта из списка. Необходимо знать index удаляемого пункта

List1.Removeltem Index

Параметр index указывает на порядковый номер удаляемого пункта и является обязательным. Следующий оператор удаляет пункт из начала списка. List1.Removeltem ()

Clear

Удаляет из списка элемента все пункты.

List1.Clear

Move

Месторасположение

SetFocus

????

ZOrder

????

 

Пример

' Для просмотра всех пунктов элемента управления List1  с целью отыскания и удаления пустых строк применяйте следующий цикл

 For item = List1.ListCount — 1 to 0 Step — 1

    If List1.List (item) = “» Then

     List1.RemoveItem item

  End If

Next

' Данный цикл сканирует элементы массива List () с конца, так как при удалении каждого  пункта длина списка уменьшается на 1. Если сканировать список с начала, число итераций

 превысит число пунктов списка, что ведет к ошибке исполнения. Если же сканировать  список с конца, эта ошибка исключается.