На этом шаге мы рассмотрим компонентTTextListBox.
Компонент TTextListBox предназначен для организации списков текстовых строк на основе стандартного элемента управления Windows (ListBox), и позволяет пользователю осуществить выбор одного или более элементов из этого списка.
В отличие от компонента TListBox, TTextListBox предназначен только для текстовых строк, но он автоматически устанавливает горизонтальную полосу прокрутки при изменении содержимого свойства Items.
Внешний вид компонента (рис.1):
Рис.1. Компонент TTextListBox
Рассмотрим свойства компонента TTextListBox:
Свойство | Описание |
---|---|
property AutoSize: Boolean; | Если содержит значение True, то размер компонента увеличивается до размера формы автоматически. |
type TBorderStyle = bsNone..bsSingle; property BorderStyle: TBorderStyle; |
Определяет стиль рамки:
|
property ExtendedSelect: Boolean; | Если ExtendedSelect = True и MultiSelect = True , выбор пункта без одновременного нажатия клавиши или отменяет предыдущий выбор |
property MultiSelect: Boolean; | Разрешает/отменяет возможность выбора нескольких пунктов |
property Items: TStrings; | Содержит набор строк, показываемых в компоненте |
property Sorted: Boolean; | Разрешает/отменяет сортировку строк в алфавитном порядке |
Приведем пример: создадим приложение, которое позволит работать со списком.
Поместим на форму компоненты TextListBox1, ComboEdit1, RxLabel1, RxSpeedButton1 и RxSpeedButton2 (рис.2).
Рис.2. Форма с размещенными на ней компонентами TextListBox1,
ComboEdit1, RxLabel1, RxSpeedButton1 и RxSpeedButton2
Компонент TextListBox1 состоит из пяти пунктов (свойство Items):
Свойство Sorted = True – сортировка строк в алфавитном порядке разрешена.
Свойство ShowHint = True , Hint = “Вы можете удалить строку, щелкнув два раза по кнопке мыши! ” – при наведении курсора на компонент будет появляться данная подсказка.
Свойство Caption компонента RxLabel1 имеет значение “Введите необходимый текст”.
RxSpeedButton1: свойство Caption – “Очистить список”.
RxSpeedButton2: свойство Caption – “Удалить строку”.
Для компонента ComboEdit1 напишем обработчик события OnClick:
procedure TForm1.ComboEdit1ButtonClick(Sender: TObject); begin TextListBox1.AddItem(ComboEdit1.Text,TextListBox1); //добавляем строку end;
Для компонента RxSpeedButton1 напишем обработчик события OnClick:
procedure TForm1.RxSpeedButton1Click(Sender: TObject); begin TextListBox1.Clear; end;
Для компонента RxSpeedButton2 напишем обработчик события OnClick:
procedure TForm1.RxSpeedButton2Click(Sender: TObject); begin TextListBox1.DeleteSelected; //удалим выбранный пункт списка end;
Для компонента TextListBox1 напишем обработчик события OnDblClick:
procedure TForm1.TextListBox1DblClick(Sender: TObject); begin TextListBox1.DeleteSelected; //удалим выбранный пункт списка end;
Работа программы показана на рис.3(а-в).
Рис.3а. Появление подсказки
Рис.3б. Добавление строки в список
Рис.3в. Удаление строки из списка
Текст этого примера можно взять здесь.
На следующем шаге мы рассмотрим компонент TRxCheckListBox.