![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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;