Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Podprogrammy.doc
Скачиваний:
37
Добавлен:
23.08.2019
Размер:
1.92 Mб
Скачать

4. Комбинированный список ComboBox

Компонент ComboBox дает возможность ввести данные в поле редактирования путем набора на клавиатуре или выбором из списка.

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

Свойства компонента СотbоВох

Свойство

Описание

Name

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

Text

Текст, находящийся в поле ввода-редактирования

Items

Элементы списка – массив строк

Count

Количество элементов списка

ItemIndex

Номер элемента, выбранного в списке. Если ни один из элементов списка не был выбран, то значение свойства равно минус 1

Sorted

Признак необходимости автоматической сортировки (True) списка после добавления очередного элемента

DropDownCount

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

Left

Расстояние от левой границы компонента до левой границы формы

Top

Расстояние от верхней границы компонента до верхней границы формы

Height

Высота компонента (поля ввода-редактирования)

Width

Ширина компонента

Font

Шрифт, используемый для отображения элементов списка

ParentFont

Признак наследования свойств шрифта родительской формы

Компонент TComboBox (Комбинированный список) представляет собой вариант списка с присоединенным дополнительным полем, в котором отображается выбранный элемент списка. Это же поле может использоваться для ввода новых элементов или для быстрого поиска элемента по начальным символам. Если на экране отображается только поле без списка, то для раскрытия списка можно использовать комбинацию клавиш Alt+вниз, а для выбора элемента списка используются клавиши перемещения (клавиши со стрелками).

Компонент TComboBox работает в пяти разных режимах, определяемых значением свойства Style.

Значения для свойства Style

Значение

Механизм работы списка

csDropDown

Создается раскрывающийся список с возможностью редактирования. Свойство MaxLength определяет максимально допустимое число символов, которое можно ввести в это поле (значение 0 указывает на отсутствие ограничений). Текст, введенный пользователем, доступен с помощью свойства Text

csDropDownList

Создается раскрывающийся список только для выбора значений, уже имеющихся в списке

csSimple

Отличается от стиля csDropDown только тем, что список не является раскрывающимся

csOwnerDrawFixed

Создается раскрывающийся список только для выбора значений с возможностью оформления пользователем

csOwnerDrawVariable

Создается раскрывающийся список только для выбора значений с возможностью оформления пользователем. Элементы могут иметь разную высот

Понятия выделенная строка в раскрывающемся списке нет. В нем имеется только текущая выбранная строка (ее номер в списке хранится в свойстве ItemIndex). Соответственно нельзя и выделять строки списка. Единственный метод, связанный с выделением данных, - это процедура SelectAll, которая выделяет весь текст, введенный пользователем в присоединенное поле. При работе с раскрывающимся списком наиболее важными являются перечисленные ниже события.

    Перечислим основные события компонента TComboBox.

   События компонента TComboBox

Название

Условия генерации

OnChange

Пользователь изменил текст в присоединенном поле

OnDropDown

Список раскрывается. Это событие необходимо обрабатывать, если содержимое списка может меняться во время работы программы. Тогда в обработчике этого события можно заново сформировать содержимое списка (свойство Items)

Пример программы с использованием поля со списком.

Поместите на форму компоненты: Label1, ComboBox1.

Д ля Form1 создайте обработчик OnCreate:

procedure TForm1.FormCreate(Sender: TObject);

var

i:Integer;

begin

for i:=0 to 5 do

ComboBox1.Items.Add ('Элемент '+IntToStr(i));

end;

    Для компонента ComboBox1 - обработчик OnSelect:

procedure TForm1.ComboBox1Select (Sender: TObject);

var

i:Integer;

begin

i:=ComboBox1.ItemIndex;

Label1.Caption:=ComboBox1.Items.Strings[i];

end;   

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]