Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.18;
Скачать: CL | DM;

Вниз

Font нод в TreeView   Найти похожие ветки 

 
slim ©   (2004-11-02 13:11) [0]

Подскажете кому не жалко где копать чтобы можно было в в TreeView менять Font и bgColor для отдельных нод. хотябы что перекрывать нужно?


 
Poirot ©   (2004-11-03 10:52) [1]

Есть обработчики
OnCustomDraw
OnCustomDrawItem
Делаешь наследника от TreeNode и добавляешь свойства цвета и фонта для каждого. А потом при отрисовке каждого элемента нолда рисуй его тем фонтом и цветом:)
Воот. Это в общих чертах:)


 
slim ©   (2004-11-03 13:44) [2]

Делаешь наследника от TreeNode и добавляешь свойства цвета и фонта для каждого
а подробнее можно?


 
Poirot ©   (2004-11-03 15:17) [3]

да.. Наследование здесь буить работать очень хорошо, но тебе видимо нать буитьь сделать своего наследника от триивью. А так это всё буит работать... главное деструктор не забудь написать для наследника от TreeNode :))
ООП Рулез:)


 
Lin7   (2004-11-03 15:30) [4]


> Poirot ©   (03.11.04 10:52) [1]

К сожалению так можно будет менять только стиль шрифта (жирный, наклонный), но не его размер... Это ИМХО, человеку свойственно ошибаться :)


 
Poirot ©   (2004-11-03 16:38) [5]

Это почему это?:))) а если ты сделаешь свойство TFont? и рисовать буишь что-то типа Canvas.Font.Assign(MyFont)!
Кто ошибается?!!Это ешшо вопрос бААльшой:) Ибо рисовать-то придётся ручками:)


 
jack128 ©   (2004-11-03 18:58) [6]

slim ©   (03.11.04 13:44) [2]
Делаешь наследника от TreeNode и добавляешь свойства цвета и фонта для каждого

У меня есть большие сомнения в производительности такого решения. У винды есть ограничения на количесество GDI и если создавать шрифт на каждый ноуд, то эти ресурсы быстроо исчерпаются.  Лудше создать событие OnGetNodeFont(Sender: TObject; Node: TTreeNode; Font: TFont); в котором пользователь и будет задавать шрифт узла.  пишется 5 минут - нужно лишь перекрыть TCustomTreeView.CustomDrawItem


 
slim ©   (2004-11-04 10:49) [7]

jack128 © [6]
спасибо я так и сделал



Страницы: 1 вся ветка

Текущий архив: 2005.09.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
2-1123685048
Klopan
2005-08-10 18:44
2005.09.18
DateTime


3-1122727589
ZAV
2005-07-30 16:46
2005.09.18
Сохранить кэш базы на диск


6-1116785814
Uninstall
2005-05-22 22:16
2005.09.18
В idTCPServer.onExecute узнать IP того...


1-1124867282
СержК
2005-08-24 11:08
2005.09.18
Как програмно узнать что на машине открыт документ Excel?


14-1125094288
ronyn
2005-08-27 02:11
2005.09.18
Pack Man