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

Вниз

TTreeView   Найти похожие ветки 

 
Мурзилка   (2006-05-15 10:58) [0]

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


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


> Мурзилка   (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;


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


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


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


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


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

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


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

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


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

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


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


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


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


 
Ega23 ©   (2006-05-15 16:03) [6]


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


TTreeView.OnCustomDraw.


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

2 Жуков Олег

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



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

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

Наверх




Память: 0.48 MB
Время: 0.026 c
15-1147515404
Verg
2006-05-13 14:16
2006.06.04
Глубины INDY. Вывеска не соответствует.


2-1148036197
SamProf
2006-05-19 14:56
2006.06.04
Как запустить рограмму


2-1147698918
Petrovski
2006-05-15 17:15
2006.06.04
Можно ли программно изменять цвет фона заголовка формы


11-1127987323
shalex
2005-09-29 13:48
2006.06.04
Обрезаются иконки в MainMenu


1-1146203804
K_VAL
2006-04-28 09:56
2006.06.04
Приложение и разрешение экрана