Перейти к содержанию
Fire Monkey от А до Я
  • 0

Как создать свой итем для TListBox на основе уже существующего?


97mik

Вопрос

Рекомендуемые сообщения

  • 0
  • Администраторы

А, всё, разобрался. Это просто надо менять стили.

 

Не до конца разобрались.

 

TListBoxItem - это обычные контролы, поэтому они так же допускают вставку других контролов друг в друга. Поэтому, чтобы добавить надпись сбоку, достаточно поместить TLabel внутрь итема, выровнить по правому краю и задать правы отступ (Margins.Right = 10). Так же для такой метки в FireMonkey предусмотрен специальный стиль "listboxitemdetaillabel". 

 

Обратите внимание, что таким образом можно разместить любой контрол.

 

Здесь следует четко разделить два подхода:

  1. Стилизация итемов. Если у нас лист бокс содержит большое число итемов, то лучше использовать подход с созданием отдельного стиля. Поскольку при прокрутке итемов TListBox выгружает стили для итемов, которые не видны на экране и тем самым экономит память. Однако, для большого числа итемов лучше использовать TListView, так как он адаптирован и оптимизирован для работы с большим количеством итемов. В то время, как TListBox рассчитан для создания небольших меню
  2. Непосредственное создание дополнительных контролов в итеме. Этот подход удобен в своем использовании и рекомендуется для варианта использования TListBox, как небольшое меню приложения.

Например у меня по такому рецепту получился вот такой вариант:

post-1-0-60343100-1390776666_thumb.jpgpost-1-0-68859800-1390777363_thumb.jpg

Ссылка на комментарий
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...