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

Вниз

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

 
IvanS   (2008-07-09 14:53) [0]

Есть дерево TTreeView и отдельный элемент "NewNode" - TTreeNode (вне дерева, отдельной переменной). Как этот элемент грамотно добавить в само дерево, сразу же после текущего выделенного элемента в дереве (Selected)?
Отдельный NewNode также содержит Data, который следует указать и в добавленном элементе.
Мне необходимо иметь возможность добавить NewNode несколько раз, в нескольких разных местах. Проблемы начинаются у меня в том месте, когда я хочу элемент NewNode добавить повторно.

Как необходимо действовать?

Сейчас делаю так:
TreeView.Selected := TreeView.Items.AddNode(NewNode, TreeView.Selected, NewNode.Text, NewNode.Data, naInsert);


 
Palladin ©   (2008-07-09 14:56) [1]


> Проблемы начинаются у меня в том месте, когда я хочу элемент
> NewNode добавить повторно.

а не нужно его добавлять повторно. создавай новый экземпляр.


 
IvanS   (2008-07-09 19:56) [2]

А каким образом это сделать? Я пробовал:
TreeView.Items.AddObject(TreeView.Selected, NewNode.Text, NewNode.Data);

и даже так:
var
 SNode: TTreeNode;
begin
 SNode := TTreeNode.Create(TreeView.Items);
 SNode.Assign(NewNode);
 SNode.Data := NewNode.Data;

 TreeView.Items.Add... (SNode, ...);


Ничего не помогает.

У меня в TreeView.OnDeletion:
if Node.Data <> nil then
 Dispose(PSuperItem(Node.Data));


И если я один из добавленных узлов удаляю, то он удаляет PSuperItem данные, которые удаляются во всех добавленных мною узлов. Из-за этого все перестает функционировать.

Как поступить?


 
Johnmen ©   (2008-07-09 20:06) [3]


>  то он удаляет PSuperItem данные

Насколько видно, их удаляешь ты, а не он.

> удаляются во всех добавленных мною узлов

Естественно, ведь у тебя это указалель на один и тот же объект.



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

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

Наверх




Память: 0.47 MB
Время: 0.148 c
2-1215615527
User
2008-07-09 18:58
2008.08.10
Доступ к файлам faReadOnly


2-1215539957
GrieVeR-13
2008-07-08 21:59
2008.08.10
Проблема с функциями EnumWindows и GetWindowText


6-1191259975
Дмитрий Белькевич
2007-10-01 21:32
2008.08.10
Получение данных текущего прокси эксплорера


15-1213998563
Германн
2008-06-21 01:49
2008.08.10
О сканерах


15-1214428795
Хочу телефон
2008-06-26 01:19
2008.08.10
Dual Sim