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

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

многострочный listbox [D7, WinXP]


alexjfx ©   (2010-08-28 17:20:00) 

собственно, как грамотно реализовать разбиение строк в списке, с учетом того, что ширина списка может меняться в реальном времени, а сам он может содержать достаточно много строк (items)?

проблема в том, что при изменении ширины списка событие OnMeasureItem, очевидно, не срабатывает, т.к. высота строки не меняется...


alexjfx   (2010-08-28 19:58:00) [1]

все, разобрался. спасибо за помощь)


~AQUARIUS~   (2010-08-28 18:42:00) [2]

Нет. Надо выставить стиль Листбокса в lbOwnerDrawVariable, сделать обработку OnDrawItem. А это... отправлять(не вызывать!!) - в любом удобном месте, передавая индекс нужного итема ы желаемую высоту для него. Крайне не рекомендовал бы делать это в OnDrawItem т.к. (правда не уверен) нарветесь на бесконечную рекурсию - прорисовка - изменение высоты итема, которое вновь вызывает прорисовку. Кстати, а там ведь все написано, на совершенно понятном английском


alexjfx   (2010-08-28 17:41:00) [3]

я так понимаю, это событие вызывать в OnDrawItem?


~AQUARIUS~   (2010-08-28 17:35:00) [4]

http://msdn.microsoft.com/en-us/library/bb761348(VS.85).aspx


Наверх

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