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

Вниз

как в TreeView запомнить на какой позиции находится выделение   Найти похожие ветки 

 
kirat ©   (2009-06-22 14:36) [0]

Доброе времени суток. Подскажите, пожалуйста, как в TreeView запомнить на какой позиции находится выделение и после обновления дерева выделить ту же запись


 
Palladin ©   (2009-06-22 14:39) [1]

собсна нужно просто запомнить путь к пункту...


 
Palladin ©   (2009-06-22 14:45) [2]

а для того что бы это сделать корректно, необходимо каждому пункту иметь какой то внешний ключ, уникальный хотя бы в пределах ветки


 
kirat ©   (2009-06-22 15:00) [3]

Ну вот:
procedure TForm4.TreeViewDblClick(Sender: TObject);
var
 sPath: string;
 begin
label1.Caption := SrNodeTree(TreeView.Selected, sPath);
end;

function TForm4.SrNodeTree(pTreeNode: TTreeNode;
 var sRuta: string): string;
begin
sRuta := pTreeNode.Text + " > " + sRuta;
 if pTreeNode.Level = 0 then Result := sRuta
 else
   Result := SrNodeTree(pTreeNode.Parent, sRuta);

end;

Узнал я полный путь. Но как потом вернуть курсор туда же?


 
Palladin ©   (2009-06-22 15:04) [4]

в обратном порядке


 
Сергей М. ©   (2009-06-22 15:05) [5]


> как потом вернуть курсор туда же?


нужно написать процедуру, которая осуществляет разбор строки, содержащей путь..


 
kirat ©   (2009-06-22 15:16) [6]

Подскажите пожалуста хоть какой процедурой переместить!


 
Palladin ©   (2009-06-22 15:18) [7]

TTreeNode.Selected


 
kirat ©   (2009-06-22 15:21) [8]

А Node где указать?


 
Palladin ©   (2009-06-22 15:22) [9]

его не нужно указывать, его нужно найти


 
kirat ©   (2009-06-22 15:28) [10]

Вы конечно извините ну пожалуйста покажите на примере.
Вот мне, например, известно, что путь по моему дереву "Дерево2-Ветка3"
Как мне Выделить Ветку3 программно.


 
Palladin ©   (2009-06-22 15:31) [11]

Pos + F1
Copy + F1
For + F1
TTreeNode.Count + F1
TTreeNode.Item + F1

ну я не понимаю, трудно что ли в справку посмотреть на предмет состава?


 
Сергей М. ©   (2009-06-22 15:36) [12]

В лесу искать Дерево2.
Если найдено, то на нем искать Ветка3.


 
kirat ©   (2009-06-22 15:43) [13]

Нахожу я и дерево и ветку а как его ВЫДЕЛИТЬ?


 
Сергей М. ©   (2009-06-22 15:44) [14]


> как его ВЫДЕЛИТЬ?


Лес.Selected := то_что_ты_нашел


 
Palladin ©   (2009-06-22 15:48) [15]


> kirat ©   (22.06.09 15:43) [13]

а в [7] я кому интересно написал? Сержу?


 
kirat ©   (2009-06-22 15:51) [16]

Сергей М.

> Лес.Selected := то_что_ты_нашел

Вот спасибо!


 
kirat ©   (2009-06-22 15:52) [17]

Palladin я просто не понял что написать после =
Спасибо и извените сли что не так! =)


 
kirat ©   (2009-06-22 16:22) [18]

Все отлично у меня выделяет но если я дерево заново перестраиваю не выделяет.
tt:=TreeView.Selected;
TreeViewUpdate;
TreeView.Selected:=tt;

а вот так нормально
tt:=TreeView.Selected;
TreeView.Selected:=tt;


 
kirat ©   (2009-06-22 16:24) [19]

TreeViewUpdate:
TreeView.Items.Clear;
for i2:=1 to j2 do
       begin
         node2:= TreeView.Items.AddChild(node,asstring);
       
       end;


 
clickmaker ©   (2009-06-22 16:54) [20]

> [18] kirat ©   (22.06.09 16:22)

tt - это адрес в памяти выделенной ветки.
после апдейта она живет уже по другому адресу


 
Ega23 ©   (2009-06-22 16:54) [21]


> TreeView.Items.Clear;


Ещё бы.

Вот представь. У тебя книга. Ты заложил её закладкой на 254 странице.
Потом вырвал все страницы. Потом напихал туда новых (возможно и в другом порядке). И ты хочешь, чтобы у тебя "само" получилось, что на 254 странице та же закладка?


 
kirat ©   (2009-06-22 16:56) [22]

Все. Всем грамадное спасибо! Тема закрыта!



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

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

Наверх




Память: 0.51 MB
Время: 0.02 c
15-1245161138
@!!ex
2009-06-16 18:05
2009.08.16
Консолька роняет прилоэение на выходе.


2-1245048658
Б
2009-06-15 10:50
2009.08.16
Наличие клавиатуры.


15-1245344854
Alf
2009-06-18 21:07
2009.08.16
Проблемы с сеткой. Видно только свой сегмент


2-1245142539
vitalik200888
2009-06-16 12:55
2009.08.16
печать из delphi.


15-1244878087
Unknown user
2009-06-13 11:28
2009.08.16
Декомпозиция полигона на треугольники