Списки. Компоненты ListBox и ComboBox

Для создания удобного интерфейса с пользователем используются списки выбора. Мы познакомимся с двумя видами списков: ComboBox, ListBox. Списки содержат элементы, которые могут быть выбраны при помощи клавиатуры или мыши. Компоненты TListBox и TComboBox отличаются внешним видом на экране. TListBox – это прокручиваемый список возможных выборов, на экране видны несколько элементов списка. TComboBox – это выпадающий или компактный список выборов, на экране видим только один элемент, при распахивании списка вы можете видеть несколько элементов. Отличие состоит еще и в том, что компонент TComboBox – это поле редактирования со списком, т.е. пользователь может либо ввести нужное значение вручную, либо выбрать его из списка. То, что пользователь ввел в TComboBox, будет содержаться в свойстве Text. TListBox не позволяет добавлять новые элементы в список. Ниже перечислены основные свойства списков.

Таблица

Основные свойства компонентов ListBox и ComboBox

Свойство Описание
Align Выравнивание внутри формы ( для ListBox).
BorderStyle Стиль границы ( для ListBox).
Color Цвет фона.
Columns Число столбцов в списке ( для ListBox).
Ctl3D Придать трехмерный вид.
ExtendedSelect Только для ListBox, определяет, можно ли выбрать несколько последовательно расположенных элементов. Работает совместно со свойством MultiSelect. С помощью клавиш Shift – смежные выделения; Ctrl – несмежные выделения.
MultiSelect Только для ListBox; разрешены ли выделения нескольких элементов.
Selected Массив, позволяющий определить, какие элементы списка выбраны.
ItemIndex Содержит порядковый номер выделенного элемента списка, нумерация с нуля.
Items Объект типа TString, массив строк, содержащий элементы списка, имеет свои методы для работы со списком:
Text Только для TComboBox, содержит текст, введенный пользователем, позволяет задавать элемент, который первоначально будет видим в списке.
Style Задает стиль списка. Может принимать одно из следующих значений: DropDownList – для ComboBox, в список нельзя вводить новые значения; Standart – нормальный строковый, все строки одинаковой высоты; OwnerDrawFixed – каждый элемент имеет вы- соту, определенную свойством ItemHeight; OwnerDrawVariable – элементы списка могут иметь переменную высоту.

Самое важное при работе со списком – это задание элементов списка и определение элемента, выбранного пользователем. Для задания элементов списка можно использовать свойство Items, доступ к которому можно получить с помощью Инспектора объектов.

Списки. Компоненты ListBox и ComboBox - student2.ru

Для ввода значений в это свойство необходимо щелкнуть на трех точках, при этом открывается окно редактора свойств (String List Editor), в котором и вводятся значения списка, по одному на каждой строчке:

Списки. Компоненты ListBox и ComboBox - student2.ru

Для определения выбранного элемента используется свойство ItemIndex, которое содержит номер выбранного элемента, нумерация с нуля.

Для демонстрации работы списка выполним следующее упражнение: в форме создадим список, содержащий названия времен года: зима, весна, лето, осень. С помощью функции ShowMessage отобразим выбор пользователя. Вид формы:

Списки. Компоненты ListBox и ComboBox - student2.ru

По кнопке «Ввод» работает обработчик:

procedure TForm1.Button1Click(Sender: TObject);

begin

case ComboBox1.ItemIndex of

0: ShowMessage ('Зима');

1: ShowMessage ('Весна');

2: ShowMessage ('Лето');

3: ShowMessage ('Осень');

end;

end;

Наши рекомендации