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

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

TTreeView


Мурзилка ©   (2006-05-15 10:58:00) 

1) как определить, что данный узел является листом?
2) как определить чтоу  данного узла нет братьев?
3) можно ли менять цвет шрифта только в некоторых узлах?
4) как поменять размер шрифта во всем дереве?


Мурзилка   (2006-05-15 16:15:00) [1]

2 Жуков Олег

всё, ок с высотой текста разобрался.


Ega23   (2006-05-15 16:03:00) [2]


> 3) можно ли менять цвет шрифта только в некоторых узлах?
>
> 4) как поменять размер шрифта во всем дереве?


TTreeView.OnCustomDraw.


Мурзилка   (2006-05-15 16:00:00) [3]


> Установить высоту пункта:
> uses CommCtrl;
>  TreeView1.Perform(TVM_SETITEMHEIGHT, NewHeight, 0);
> , но должно и без этого работать


без этого не работает, а с этим, вроде да и поле ввода увеличилось, а текст всё равно прорисовывается как бы сдвинутый вниз, т.е видно одни макушки букв.


Жуков Олег   (2006-05-15 11:41:00) [4]

Установить высоту пункта:
uses CommCtrl;
 TreeView1.Perform(TVM_SETITEMHEIGHT, NewHeight, 0);
, но должно и без этого работать


Жуков Олег   (2006-05-15 11:36:00) [5]


> > 2) как определить чтоу  данного узла нет братьев?
>
> TTreeNode.Parent.HasChildren
>

Здесь я чушь сморозил, вместо HasChildren должно стоять Count = 1.


> вот тут странно, вроде чувствуется что размер поменялся,
>  а вот область отображения текста осталась таже, поэтому
> видны тольки части букв
>

Мне это тоже странно. У тебя какой то неправильный TreeView, поскольку у меня этот код меняет и шрифт, и высоту пункта. Проверено в D7 и D2005, на Windows XP и Цштвщцы 2000.


Мурзилка   (2006-05-15 11:26:00) [6]


>
> > 4) как поменять размер шрифта во всем дереве?
>
> TreeView.Font.Size := 28;


вот тут странно, вроде чувствуется что размер поменялся, а вот область отображения текста осталась таже, поэтому видны тольки части букв


Жуков Олег   (2006-05-15 11:19:00) [7]


> Мурзилка   (15.05.06 10:58)

Интересная терминология. :)


> 1) как определить, что данный узел является листом?

TTreeNode.HasChildren?

> 2) как определить чтоу  данного узла нет братьев?

TTreeNode.Parent.HasChildren
или
(TTreeNode.getPrevSibling = nil) and (TTreeNode.getNextSibling = nil)


> 3) можно ли менять цвет шрифта только в некоторых узлах?

Можно отрисовывать их программно в соответственных событиях, и выводить текст (и не только текст) стандартными средствами работы с графикой (см. TTreeView.OnCustomDrawItem, TTreeView.OnAdvancedCustomDrawItem, TTreeView.Canvas)


> 4) как поменять размер шрифта во всем дереве?

TreeView.Font.Size := 28;


Наверх

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