Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.30;
Скачать: CL | DM;

Вниз

Listbox с элементами переменной высоты   Найти похожие ветки 

 
Муть   (2003-01-20 13:56) [0]

Здравия желаю!

Возникла такая задача - менять высоту элемента Listbox в зависимости от того, находится ли этот элемент в состоянии odSelected. Оказывается что сделать это непросто.
Сейчас я пытаюсь сохранять номер выбранного элемента в переменной, далее вызывать процедуру перерисовки и анализировать этот номер. Проблема в том, что listbox1.repaint не приводит к вызову кода вычисления высоты элементов. Поэтому вопрос можно сузить до следуюшего - какое сообщени необходимо послать listbox чтобы он для каждого из элементов было вызвано wm_measureitem?


 
Муть ©   (2003-01-21 10:55) [1]

Как всегда, приходится самому отвечать на свой же вопрос.
Делается это так:
Функции height и heightfull вычислияют высоты для отмеченного и неотмеченного элементов. Переменная prev хранит номер предыдущего отмеченного элемента.

procedure TForm1.ListBox2Click(Sender: TObject);
begin
if prev>=0 then
listbox2.perform(LB_SETITEMHEIGHT, prev, makelparam((current as xList).height(prev), 0));
listbox2.perform(LB_SETITEMHEIGHT, listbox2.ItemIndex, makelparam((current as xList).heightfull(listbox2.ItemIndex, listbox2.Canvas, listbox2.Width), 0));
listbox2.Refresh;
prev:=listbox2.ItemIndex;
end;


 
Игорь Шевченко ©   (2003-01-21 11:30) [2]


> Как всегда, приходится самому отвечать на свой же вопрос.
>


Однако...


 
Муть ©   (2003-01-21 14:15) [3]

Добавлю, что Игорь Шевченко сыграл ключевую роль в поиске ответа на этот вопрос. За что ему спасибо.



Страницы: 1 вся ветка

Текущий архив: 2003.01.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
14-97011
Wonder
2003-01-13 16:37
2003.01.30
В преддверии старого Нового года :)


3-96525
saf
2003-01-14 17:50
2003.01.30
Данные в поле Currency


1-96761
Brain
2003-01-21 16:15
2003.01.30
Полупрозрачность.


3-96638
Vladimir
2003-01-14 15:10
2003.01.30
Компонент выполняющий скрипт...


14-96945
BF7ru
2003-01-14 11:50
2003.01.30
Тормоза после установки