ListBox – отображает список строк и позволяет пользователю выбрать из него необходимые строки. В список добавляются автоматически полосы прокрутки, если все строки не помещаются в окне компонента Дельфи.
Основное свойство компонента это Items (тип TStrings). Задаем во время проектирования:
ListBox не разрешает редактировать список пользователю после компиляции проекта, а также список всегда развернут и можно допустить множественный выбор – свойство MultiSelect. Если MultiSelect = true, то значение ItemIndex соответствует тому элементу списка, который находится в фокусе. При множественном выборе проверяется свойство Selected[Index: Integer] тип Boolean. Запретить работу клавиш Ctrl и Shift при выборе можно в свойстве ExtendedSelect, задав значение false.
Пример, следующий код для каждой из выбранных строк выдает сообщение вида «Выбрана строка…»:
For i:=0 to ListBox1.Items.Count-1 do
If (ListBox1.Selected[i]) then
ShowMessage (‘Выбрана строка’ + ListBox1.Items.Strings[i]);
Если MultiSelect = false, то выбор возможет только для одного элемента. По умолчанию индекс равен ItemIndex = -1. Лучше самому задать в событии формы OnCreate оператор вида ListBox1.ItemIndex = 0;.
Свойство Columns задает количество столбцов, Sorted — упорядочить по алфавиту.
Свойства
Свойство |
Описание |
Action |
Property Action: TBasicAction;
Определяет действие, связанное с данным компонентом |
Anchors |
Определяет привязку данного компонента
к родительскому при изменении размеров последнего |
Count |
Property Count: Integer;
Определяет число строк в списке |
ItemIndex |
Property ItemIndex: Integer;
Порядковый номер элемента, выделенного в списке |
TopIndex |
Property TopIndex: Integer;
Указывает индекс элемента, видимого вверху списка. При изменении сдвигает видимую часть списка |
Основные методы
Метод |
Описание |
Clear |
Procedure Clear;
Удаляет все элементы |
ItemAtPos |
Function ItemAtPos (Pos:TPoint;
Existing: Boolean): Integer; Возвращает индекс элемента списка, координатами Pos |
ItemRect |
Function ItemRect(Item: Integer): TRect;
Возвращает прямоугольник, указанный элемент Item списка |
Show |
Procedure Show;
Делает видимым невидимый индикатор |
SetFocus |
Procedure SetFocus;
Передает фокус элементу |
Основные события:
- OnClick – наступает при щелчке на элементе списка;
- OnData – наступает в виртуальных списках, когда приложению надо отобразить очередную строку списка;
- OnDataObject – наступает в виртуальных списках, когда со строками виртуального списка надо связать какие-то объекты;
- OnDrawItem – наступает при необходимости перерисовать элемент списка;
OnKeyDown – наступает при нажатии пользователем любой клавиши (можно распознать нажатую клавишу в обработчике). OnKeyPress – событие наступает при нажатии пользователем клавиши символа (можно распознать вводимый символ в обработчике, а также запретить ввод). OnKeyUp – наступает, когда пользователь отпустил какую-либо клавишу (также можно распознать клавишу).
OnMouseItem – наступает при необходимости перерисовать элемент в списке с изменяемой высотой элементов.
. listbox item delphi combobox delphi КОД ЭЛЕМЕНТА listbox delphi listbox selected delphi listbox delphi события