Тема 6 Компоненты ввода и редактирования списков. Таблицы

Цель: Формирование знаний о свойствах, методах и событиях компонентов TListBox и TComboBox.

План:

1. ListBox – список строк

2. ComboBox и ComboBoxEx – выпадающий список строк

3. StringGrid – текстовая таблица

1 . ListBox – список строк

Cписки выбора хранят в себе какие-то списки (например, параметров) и дают пользователям возможность выбирать один или несколько параметров. В работе списки достаточно просты. Чтобы получить доступ к строкам списка нужно воспользоваться свойством Items объекта TListBox. Это свойство имеет тип TStrings.

Создадим маленькое приложение с использованием этого компонента. Создайте новый проект, расположите на форме один компонент TListBox Тема 6 Компоненты ввода и редактирования списков. Таблицы - student2.ru и один компонент TEdit. Теперь дважды щёлкните по свойству Items компонента ListBox1, после чего откроется редактор строк.

Тема 6 Компоненты ввода и редактирования списков. Таблицы - student2.ru

После ввода нужных значений нужно нажать кнопку «ОК», чтобы сохранить введённые данные..

Тема 6 Компоненты ввода и редактирования списков. Таблицы - student2.ru

Создайте обработчик события OnClick для списка выбора следующего вида:

procedure TForm1.ListBox1Click(Sender: TObject);

begin Edit1.Text:=ListBox1.Items.Strings[ListBox1.ItemIndex];

end;

Свойство ItemIndex объекта ListBox1 указывает на выделенную строку списка выбора. С помощью ListBox1.Items.Strings можно получить доступ ко всем строкам списка. В результате получается, что в Edit1 присваивается текст выделенной строки в списке выбора.

Добавим к приложению кнопку «Добавить» и «Удалить» строку .

Тема 6 Компоненты ввода и редактирования списков. Таблицы - student2.ru

Для кнопки добавить, в обработчике события OnClick напишем следующий код:

procedure TForm1.AddButtonClick(Sender: TObject);

begin

ListBox1.Items.Add('Новая строка');

end; -

Для кнопки удалить напишем такой текст:

procedure TForm1.DelButtonClick(Sender: TObject);

begin ListBox1.Items.Delete(ListBox1.ItemIndex);

end;

2. ComboBox и ComboBoxEx – выпадающий список строк

Выпадающие списки по своей работе, свойствам и методам похожи на списки выбора.

Создайте приложение похожее на предыдущее, только вместо ListBox будет ComboBox (рисунок 34).

Тема 6 Компоненты ввода и редактирования списков. Таблицы - student2.ru

Рисунок 34 – Форма примера использующего TComboBox

Далее создайте обработчик события OnChenge для выпадающего списка ComboBox1. Это событие происходит, когда пользователь выбрал какой-нибудь элемент списка.

procedure TForm1.ComboBox1Change(Sender: TObject);

begin

Edit1.Text:=ComboBox1.Items.Strings[ComboBox1.ItemIndex];

end;

Теперь напишите код для кнопки «Добавить» и «Удалить»:

procedure TForm1.AddButtonClick(Sender: TObject);

begin

ComboBox1.Items.Add('Новая строка') ;

end;

procedure TForm1.DelButtonClick(Sender: TObject);

begin

ComboBox1.Items.Delete(ComboBox1.ItemIndex);

end;

Как видно, наблюдается полная аналогия со списком выбора и TMemo. Содержимое списков можно сохранять с помощью ComboBox1.Items.SaveToFile(‘Имя файла’), а загружать с помощью ComboBox1.Items.LoadFromFile(‘Имя файла’).

Существует несколько типов выпадающих списков. За тип списка отвечает свойство Style:

CsDropDown – основной стиль, можно не только выбирать значения из списка, но и вводить в строку свои;

CsDropDownList – при этом стиле можно только выбирать из списка;

CsOwnerDrawFixed – при этом стиле ты можешь рисовать элементы, высота элементов фиксированная;

CsOwnerDrawVariable -при этом стиле ты можешь рисовать элементы, отличается от предыдущего тем, что высота элементов не фиксированная;

CsSimple – только строка ввода.

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