Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > TTreeView получить номер узла


Автор: DissDoc 2.4.2007, 11:15
Собсно сабж. Как получить номер узла  в TTreeView? Дерево у меня вот такое
--node1
----node2
----node3
--node4
----node5
------node6
ЗЫ. Естессно,, что узел называется по-другому (номера нет). Т.е. вместо node6 - стоит Узел "Сообщение" 
Как мне узнать, что "Сообщение" - номер узла(позиции) равен 6???

Автор: SenkraD 2.4.2007, 11:29
Можно так, но вродь можно и по быстрее
Код

int NodeID = -1;
for(int i =0; i < TreeView1->Items->Count; i ++)
{
   if(TreeView1->Items[i]->Text == "Сообщение") NodeID = TreeView1->Items[0]->ItemID;
}
ShowMessage(NodeID);

Автор: DissDoc 2.4.2007, 11:41
Тут бы попроще... Я заранее знаю TTreeNode * как таковой. Т.е. у меня есть 
TTreeNode * node_selected = TreeView1->Selected
Мне как бы осталось его позицию получить только.

Автор: SenkraD 2.4.2007, 11:43
Относительно чего?

Автор: DissDoc 2.4.2007, 11:45
Относительно дерева. node_selected->Index - не подходит. Он показывает позицию в раскрытом узле. А мне надо общую позицию в дереве. т.е. Index node6 - покажет как 0ую ноду, а не 6ую!

Автор: Fazil6 2.4.2007, 11:46
у узла есть свойства
AbsoluteIndex
и 
Index

Автор: SenkraD 2.4.2007, 11:50
ну так свойства TreeNode1->AbsoluteIndex и TreeNode1->ItemID (причём второе глобальное в системе)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)