Главная страница
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.06 c
3-1144997749
RomanH
2006-04-14 10:55
2006.06.04
Доступ из БД1 в БД2 одного коннекта


2-1147831588
Wood
2006-05-17 06:06
2006.06.04
Обработка события при аварийном завершении приложения


3-1144959988
Krants
2006-04-14 00:26
2006.06.04
Развернуть БД


15-1147429102
WaxMan
2006-05-12 14:18
2006.06.04
Delphi 2006 и MSVS


2-1147693593
LaDaN
2006-05-15 15:46
2006.06.04
Линейные односвязные списки