Главная страница
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.015 c
7-97068
Оля
2002-11-18 12:58
2003.01.30
Как погасить экран?


6-96900
Groove
2002-12-02 07:02
2003.01.30
Пример проги типа ICQ, только для локалки


3-96573
idpro
2003-01-11 15:37
2003.01.30
Вставка даты в таблицу


1-96651
opoloXAI
2003-01-21 14:47
2003.01.30
TListView and Long-Long-Long Hint


3-96607
chum
2003-01-13 08:58
2003.01.30
Функция BDE: DbiDoRestructure