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

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

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 и добавляешь свойства цвета и фонта для каждого. А потом при отрисовке каждого элемента нолда рисуй его тем фонтом и цветом:)
Воот. Это в общих чертах:)


Наверх

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