Вверх ↑
Разработчик
Ответов: 26209
Рейтинг: 2138
#1: 2024-04-23 14:57:55 ЛС | профиль | цитата
Всем Привет!
Посмотрел, буду добавлять. А со сдвигом текста, так это на уровне библиотеки так сделано

  if FRedaction then
Control := NewListEdit(FParent, FStyle, l, LgIList, SmIList, StIList,
_OnLineChange, _OnBeforeLineChange)
else
Control := NewListView(FParent, FStyle, l, LgIList, SmIList, StIList);

Как видно, создание контрола привязано к списку иконок. И если его нет, то библиотека отрисовывает дефолтно. Припоминаю, что что-то пытались думать по этому вопросу, но что-то не сдвинулось.

Короче, почитал Маркса (то бишь Кладова). Вот что он пишет
Событие OnMeasureItem (см. метод Set_LVItemHeight) может использоваться при наличии стиля lvoOwnerDrawFixed для того, чтобы программно задать высоту элемента, если высота, устанавливаемая системой по умолчанию, не устраивает. Лично я чаще использую другой способ: назначаю объекту список изображений (в соответствии с режимом просмотра - список для больших или маленьких пиктограмм, в зависимости от используемых режимов просмотров). Размер (высота) пиктограммы в таком списке изображений однозначно определяет и высоту элементов, лишь бы он был больше, чем высота используемого шрифта (если шрифт больше, то высота элемента устанавливается системой так, чтобы текст полностью входил по высоте). Если сам список изображений не используется, его необязательно заполнять чем-нибудь. Достаточно пустого списка, чтобы задать требуемую высоту элемента.

Вот как раз его способ и вошел в основу компонента
карма: 22

0
Редактировалось 1 раз(а), последний 2024-04-23 15:12:57