Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не срабатывает событие OnMeasureItem у ListBox


NAlexey ©   (2004-07-01 11:37:00) 

Пытаюсь в ListBox выводить строки разной высоты. На событие OnMeasureItem вешаю например:

procedure TForm1.ListBox1MeasureItem(Control: TWinControl; Index: Integer;
 var Height: Integer);
begin
 Height := 24;
end;

Выставляю Style у ListBox = lbOwnerDrawVariable. Так вот событие OnMeasureItem вообще не возникает. Работаю в D6. Может кто сталкивался?


NAlexey   (2004-07-01 13:02:00) [1]

>Семен Сорокин ©   (01.07.04 12:48) [3]
Это понятно что должен.


Семен Сорокин   (2004-07-01 12:48:00) [2]

LB_SETITEMHEIGHT должен помочь


NAlexey   (2004-07-01 12:36:00) [3]

>MBo ©   (01.07.04 11:56) [1]
Хм... Интересно. Сработало, но только один раз при создании строки. Если я ничего не путаю то сказано, что будет происходить перед каждым DrawItem? Если например я хочу перерасчитывать высоту строки в зависимости от размеров контрола, такой способ не подходит. Придется видимо самому отсылать сообщения изменения высоты Item-а.


MBo   (2004-07-01 11:56:00) [4]

Добавляй строки динамически - для записанных в dfm это событие не вызывается.


Наверх

Титульная страница Поиск, карта сайта Написать письмо