Форум: "Компоненты";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];
ВнизПочему неправильно работает OnMeasureItem? Найти похожие ветки
← →
Aleksandr. (2005-07-12 16:16) [0]В потомке от TCustomListBox Style устанавливается в lbOwnerDrawVariable, и назначаются обработчики на OnDrawItem, OnMeasureItem. Условие в OnMeasureItem простое:
if Index=Count-1 then
Height:=15
else
Height:=65
Затем в rt начинаю по одной добавлять строчки - и наблюдается странная картина первая добавленная (и единственная), калькулируется с высотой 15, но когда добавляются еще строчки, то их высота, как и высота первой, тоже остается 15! В какой момент и как правильно вызвать пересчет?
← →
Юрий Зотов © (2005-07-12 16:27) [1]Затем в rt начинаю по одной добавлять строчки...
И каждая добавленная строка становится последней. Естественно, для каждой из них выполняется условие Index=Count-1, а в результате у всех строк получаем одинаковую высоту 15.
Не очень понятно, что Вы хотите получить, но похоже, что-то вроде этого:
if Index = 0 then
Height := 15
else
Height := 65;
← →
Aleksandr. (2005-07-12 16:58) [2]Нет, я именно хочу получить высоту = 15 для последнего элемента, а для всех остальных - 65. Я понял, что для каждой добавляемой выполняется условие Index=Count-1, но я не могу понять, как заставить его пересчитать высоту для элементов, которые перестали удовлетворять условию...
Страницы: 1 вся ветка
Форум: "Компоненты";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.013 c