![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Font нод в TreeView [D7, WinXP]
slim © (2004-11-02 13:11:00)Подскажете кому не жалко где копать чтобы можно было в в TreeView менять Font и bgColor для отдельных нод. хотябы что перекрывать нужно?
slim (2004-11-04 10:49:00) [1]jack128 © [6]
спасибо я так и сделал
jack128 (2004-11-03 18:58:00) [2]slim © (03.11.04 13:44) [2]
Делаешь наследника от TreeNode и добавляешь свойства цвета и фонта для каждого
У меня есть большие сомнения в производительности такого решения. У винды есть ограничения на количесество GDI и если создавать шрифт на каждый ноуд, то эти ресурсы быстроо исчерпаются. Лудше создать событие OnGetNodeFont(Sender: TObject; Node: TTreeNode; Font: TFont); в котором пользователь и будет задавать шрифт узла. пишется 5 минут - нужно лишь перекрыть TCustomTreeView.CustomDrawItem
Poirot (2004-11-03 16:38:00) [3]Это почему это?:))) а если ты сделаешь свойство TFont? и рисовать буишь что-то типа Canvas.Font.Assign(MyFont)!
Кто ошибается?!!Это ешшо вопрос бААльшой:) Ибо рисовать-то придётся ручками:)
Lin7 (2004-11-03 15:30:00) [4]
> Poirot © (03.11.04 10:52) [1]
К сожалению так можно будет менять только стиль шрифта (жирный, наклонный), но не его размер... Это ИМХО, человеку свойственно ошибаться :)
Poirot (2004-11-03 15:17:00) [5]да.. Наследование здесь буить работать очень хорошо, но тебе видимо нать буитьь сделать своего наследника от триивью. А так это всё буит работать... главное деструктор не забудь написать для наследника от TreeNode :))
ООП Рулез:)
slim (2004-11-03 13:44:00) [6]Делаешь наследника от TreeNode и добавляешь свойства цвета и фонта для каждого
а подробнее можно?
Poirot (2004-11-03 10:52:00) [7]Есть обработчики
OnCustomDraw
OnCustomDrawItem
Делаешь наследника от TreeNode и добавляешь свойства цвета и фонта для каждого. А потом при отрисовке каждого элемента нолда рисуй его тем фонтом и цветом:)
Воот. Это в общих чертах:)