Вверх ↑
Администрация
Ответов: 15294
Рейтинг: 1518
#1: 2008-12-22 17:29:25 ЛС | профиль | цитата
nesco, а по-моему высота элемента должно определятся высотой, заданной в редакторе форм. Примерно так

ItemHeight := _prop_Height - 6;

вообще же логичнее было бы сделать св-во ItemHeight в самом элементе, как это сделано например в среде Delphi, а уже менеджером вычислять его для каждого пункта и не так, как сейчас, а масштабируемо. Т.е. вот так:

  h := _prop_IconManager.CalcMaxHeight(ItemHeight);
h := _prop_DrawBoxManager.CalcMaxHeight(h);
тогда каждый из менеджеров не зависимо друг от друга сможет расширять высоту элемента по до нужной ему величины. Нынешнее комплексное вычисление:

#pas
if Assigned(_prop_BoxDrawManager) then
ItemHeight := max((value.imgsz + _prop_BoxDrawManager.AddSize * 2), Control.Canvas.TextExtent('W').cy);
к сожалению для манипуляций высотой обязывает нас определять оба менеджера... Пока писал эту строку, понял что есть еще один нюанс - у нас менеджер иконок будучи приделанным к элементу никак на него не влияет, пока не задан BoxDraw, что видимо тоже в последствии надо будет доделать. Мне например в 99 программах из 100 нужно всего лишь вывести к элементу списка простую иконку без всяких разукрашиваний.
карма: 26
0