реклама
Бургер менюБургер меню

Виталий Донцов – Программирование для Android и работа с датчиками в среде Delphi 11 (страница 9)

18

Item.StyleLookup:= ’listboxitembottomdetail’;

Item. ItemData. Text:= ADevices[i].DeviceName;

Item. ItemData.Detail:= ADevices[i].Address;

ListBox1.AddObject (Item);

end;

Здесь также видна возможность редактирования стиля списка:

Item.StyleLookup:= ’listboxitembottomdetail’;

Позволяет загружать список из строки и уменьшенной подстроки:

Item. ItemData. Text:= ADevices[i].DeviceName;

Item. ItemData.Detail:= ADevices[i].Address;

Свойство Bitmap позволяет ассоциировать с элементом картинку.

Полная очистка списка осуществляется методом Clear, обновление:

var

ListBoxGroupHeader: TListBoxGroupHeader;

begin

ListBox1.BeginUpdate;

ListBox1.Clear;

ListBoxGroupHeader:= TListBoxGroupHeader.Create (ListBox1);

ListBoxGroupHeader. Text:=«Files for Sending.»;

ListBox1.AddObject (ListBoxGroupHeader);

ListBox1.EndUpdate;

end;

Можно индивидуально формировать строки списка, в том числе ширину и высоту строк (Общие свойства в Object Inspector – ItemWith и ItemHeight будут отображать нули).

Компонент часто используют для ввода списка, например, файлов:

var

n: Integer;

s, sd: String;

ListBoxGroupHeader: TListBoxGroupHeader;

begin

//Очищаем Memo и ListBox

Memo1.Lines.Clear;

ListBox1.BeginUpdate;

ListBox1.Clear;

ListBoxGroupHeader:= TListBoxGroupHeader.Create (ListBox1);

ListBoxGroupHeader. Text:=«Files List.»;

ListBox1.AddObject (ListBoxGroupHeader);

ListBox1.EndUpdate;

//Ищем и вносим в ListBox1 все *.txt файлы из downlowd

n:=0;

sd:= '/storage/emulated/0/Download’;

for s in TDirectory.GetFiles (sd, «*.txt’) do

begin

n:=n+1;

ListBox1.Items.Add (Copy (s, Length (sd) +2,100));

listbox1.ListItems[n].StyledSettings:= listbox1.ListItems [n]. StyledSettings – [TStyledSetting. Family, TStyledSetting.Size]; //Формат

listbox1.ListItems[n].Font. Family:=«Tahoma’;

listbox1.ListItems[n].Font.Size:= 14;

end;

if n = 0 then

ShowMessage («Нет *.txt файлов в Download!»)

else

ShowMessage («Обнаружено ‘ + IntToStr (n) + «файлов).

Использован вариант перечисления: for s in, а путь к директории объявлен прямо: '/storage/emulated/0/Download’, что возможно при объявлении разрешений на чтение файлов из внешних источников; перед открытием файлов ListBox обновляется, это нужно делать внутри методов:

ListBox1.BeginUpdate;

*****************

ListBox1.EndUpdate;

8.4. КОМПОНЕНТ ComboBox

Компонент ComboBox представляет собой комбинацию Списка и Поля редактирования, что позволяет вводить данные как с клавиатуры, так и по индексу списка, выбрать данные в списке, удалить элемент списка. Он занимает всего одну строчку, в отличие от ListBox.

Count число элементов списка; DropDownCount – количество элементов в раскрытом списке; Text – текст находящийся в поле редактирования (ввода); Items – массив строк списка; ItemIndex – номер элемента в списке (-1 если ничего не выбрано); Sorted – сортировка элементов. В свойстве items можно открыть String List Editor и запол нить список (начинается с 0).

Команда ComboBox1.Items.Add («Вводимый текст») добавит элемент списка; а команда ComboBox1.Items.Clear – очистит список. Вместо стиля текста имеется свойство Style Name.

Рис. 22. Компонент ComboBox с картинкой и указателем «V».

Аналогично, можно использовать компонент PopupBox:

PopupBox1.Items.Add («Item1»);

Компонент может загружать / сохранять данные в файл.

Компонент StatusBar обычно выровнен по нижней части формы и отображает информацию о приложении по мере его запуска: ProgressBar1.Value:= ProgressBar1.Value + n;