| 
| 
 | Вопрос # 2 601/ вопрос открыт / | 
 |  Здравствуйте! Использую Virtual Tree View, для меня главная проблема при работе с ним - получение узла по указанному индексу. необходимо решить простейшую задачу - удаление дочерних элементов узла, полученного по индексу.Tree.DeleteChildren(Node) , где Node - узел, полученный по индексу (например 4й узел). Собственно вопрос, как получить 4й узел?
 Информации по данной проблеме не нашел, надеюсь на вашу помощь.
 
|  |   Вопрос задал: Phoenix (статус: Посетитель)Вопрос отправлен: 5 апреля 2009, 22:52
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Мережников Андрей Здравствуйте, Phoenix!Tree.Items.Item[index]:TTreeNode;
 
|  | Ответ отправил: Мережников Андрей (статус: Абитуриент)Время отправки: 6 апреля 2009, 05:39
 Оценка за ответ: 2
 Комментарий к оценке: уважаемый эксперт, было бы так для компонента TreeView, я же использую Virtual (результат получения есть  PVirtualNode), так в корне неверно, но все-равно спасибо за ответ. |  
 Мини-форум вопросаВсего сообщений: 8; последнее сообщение — 6 апреля 2009, 20:03; участников в обсуждении: 3. 
|   | Phoenix (статус: Посетитель), 6 апреля 2009, 18:15 [#2]:ну это собственно основа, по которой я разбирался, увы, ни в статье, ни в примерах нет ответа. |  
|   | Вадим К (статус: Академик), 6 апреля 2009, 18:17 [#3]:Для меня лично последней инстанцией в таких случаях являются исходники. Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Phoenix (статус: Посетитель), 6 апреля 2009, 18:41 [#4]:ничего не остается как решить проблему глупым перебором: 
 function GetNode(Virtualtree:TVirtualStringTree;indx:integer)
  VirtualNode; var   NextNode: PVirtualNode;
 begin
 NextNode := Virtualtree.rootnode.FirstChild;
 result:= NextNode;
 if Assigned(NextNode) then
 repeat
 if NextNode.Index = indx then  begin
 result:=NextNode;
 break;
 end;
 NextNode :=  NextNode.NextSibling;
 until
 NextNode = nil;
 end;
 |  
|   | Вадим К (статус: Академик), 6 апреля 2009, 18:43 [#5]:И получить невероятное падение производительности. А может по индексу можно не обращаться? А по указателю какому-нибудь....
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Phoenix (статус: Посетитель), 6 апреля 2009, 18:59 [#6]:по указателю было б неплохо, спсибо, буду думать. |  
|   | Мережников Андрей (статус: Абитуриент), 6 апреля 2009, 19:33 [#7]:кстати, об указателях, в приведенной для примера статье, было написано об этом. Речь идет об удалении узла, выделенного пользователем? |  
|   | Phoenix (статус: Посетитель), 6 апреля 2009, 20:03 [#8]:если речь шла об этом было бы очень просто, выделенный узел получается методом GetFirstSelected, речь идет об удалении узла по указанному номеру. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |