Тема 6 Компоненты ввода и редактирования списков. Таблицы
Цель: Формирование знаний о свойствах, методах и событиях компонентов TListBox и TComboBox.
План:
1. ListBox – список строк
2. ComboBox и ComboBoxEx – выпадающий список строк
3. StringGrid – текстовая таблица
1 . ListBox – список строк
Cписки выбора хранят в себе какие-то списки (например, параметров) и дают пользователям возможность выбирать один или несколько параметров. В работе списки достаточно просты. Чтобы получить доступ к строкам списка нужно воспользоваться свойством Items объекта TListBox. Это свойство имеет тип TStrings.
Создадим маленькое приложение с использованием этого компонента. Создайте новый проект, расположите на форме один компонент TListBox и один компонент TEdit. Теперь дважды щёлкните по свойству Items компонента ListBox1, после чего откроется редактор строк.
После ввода нужных значений нужно нажать кнопку «ОК», чтобы сохранить введённые данные..
Создайте обработчик события OnClick для списка выбора следующего вида:
procedure TForm1.ListBox1Click(Sender: TObject);
begin Edit1.Text:=ListBox1.Items.Strings[ListBox1.ItemIndex];
end;
Свойство ItemIndex объекта ListBox1 указывает на выделенную строку списка выбора. С помощью ListBox1.Items.Strings можно получить доступ ко всем строкам списка. В результате получается, что в Edit1 присваивается текст выделенной строки в списке выбора.
Добавим к приложению кнопку «Добавить» и «Удалить» строку .
Для кнопки добавить, в обработчике события 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).
Рисунок 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 – только строка ввода.