![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Добавить Image к TTreeNode без TImageList
Ega23 © (2005-09-16 16:18:00)Есть TTreeView (точнее потомок, но это не суть). Требуется в некоторых узлах по условию прорисовывать картинку. Знаю, как это задать через TImageList, но по условию задачи этот метод неприемлем.
Идея следующая: переопределить OnCustomDrawItem, там по условию через TTreeViewIdent и TTreeNode.DisplayRect можно "сдвинуть" нужный узел и в свободное место "впихнуть" нужную картинку.
Хотелось бы узнать: идея правильная, или есть другой способ?
Ega23 (2005-09-16 16:50:00) [1]сначала озвучь эти самые условия ... а то рассуждать можнго сколь угодно долго ...
Если кратко, то начальник сказал: "Некрасиво".
Если подробно, то это DB-компонент, отображающий "деревянную" структуру. При этом у некоторых объектов есть своё изображение, а у некоторых нет. При этом это дерево и есть "редактор" данной структуры. Т.е. в конечный момент времени, когда вся структура будет заполнена, картинки будут у всех узлов. Но на момент редактирования - может оказаться, что картинки нет.
Если присобачить ImageList, то TCustomTreeView на элементы, ImageIndex которых равен -1, всё равно отводит количество пикселей, равное ImageList.Width + Node.DisplayRect.Right - Node.DisplayRect.Left.
Digitman (2005-09-16 16:35:00) [2]
> Ega23 © (16.09.05 16:27) [2]
> по условию задачи этот метод неприемлем
сначала озвучь эти самые условия ... а то рассуждать можнго сколь угодно долго ...
Ega23 (2005-09-16 16:27:00) [3]добавление в ран-тайм элемента в TImageList и последующая ссылка на него чем не устраивает ?
А если у элемента нет картинки? Если узлу ImageIndex=-1 поставить, то выглядит некрасиво. Всё равно место под картинку автоматом отводится...
Digitman (2005-09-16 16:23:00) [4]добавление в ран-таймэлемента в TImageList и последующая ссылка на него чем не устраивает ?