![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
многострочный 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