Вниз
Скачать: CL | DM;

Путь к ветке дерева   Найти похожие ветки 

← →
harismatik   (2002-12-18 19:20) [0]

У меня есть дерево папок. Как, выбрав одну из них, получить полный путь к ней и вывести этот путь как Label.caption?


← →
dona   (2002-12-18 19:28) [1]


Используйте компонент OpenDialog (страница Dialogs).
Например,
if OpenDialog1.Execute then Label1.Caption:=OpenDialog1.FileName;


← →
Skier ©   (2002-12-18 19:28) [2]

>harismatik

Если я правильно понял
то тебе понадобятся св-ва

- TTreeView.Selected
- TTreeNode.Parent
- TTreeNode.Text

движешься от выбранного узла дерева (TTreeView.Selected)
вверх по иерархии папок (TTreeNode.Parent) и суммируешь путь
(TTreeNode.Text) в конце получить полный путь..

Ну а вообще-то лучше запоминать полный путь к узлу
при построении дерева папок. (здесь : TTreeNode.Data)


← →
Danlicha ©   (2002-12-18 19:35) [3]

Не лучше


← →
harismatik   (2002-12-18 19:51) [4]

2 Skier - ты меня правильно понял. И в принципе, я это сделал в цикле. Только остался один вопрос: как при выборе папки определить ее индекс{то бишь индекс Items} (что-то не хочется перебирать все папки в цикле, пока не будет найдена та, которая имеет признак Selected) Может есть какой другой способ? И какой ивент компонента TreeView лучше для этого использовать (я использую OnClick)?


← →
Skier ©   (2002-12-19 09:57) [5]

>harismatik
А зачем искать узел с признаком Selected ???
Его можно получить сразу...
TTreeView.Selected - вернёт тебе указатель на объект TTreeNode,
т.е. указатель на узел, который выбран в данный момент времени...
Ежели TTreeView.Selected = nil, то - нет выбранного узла.

А что касается индекса узла, то посмотри св-ва
TTreeNode.Index и TTreeNode.AbsoluteIndex



← →
Polevi ©   (2002-12-19 10:27) [6]

procedure GetPath(Node:TTreeNode;var s:string)
begin
s:=s+Node.Text;
if Assigned(Node.Parent) then GetPath(Node.Parent,s);
end;

GetPath(TV.Selected,s);
ShowMessage(s);



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
3-99026
Viktor1
2002-12-11 11:01
2002.12.30
Братья!!! Помогите поставить провайдера OLE DB ... Так его!


4-99405
mikhasenko
2002-11-14 17:25
2002.12.30
Специалисты, подскажите!


1-99167
Nic2
2002-12-18 21:17
2002.12.30
Записи


4-99414
Vasily Terekhov
2002-11-13 10:19
2002.12.30
Перехват сворачивания и восстановления окон


1-99053
tolik2003
2002-12-19 11:15
2002.12.30
закачка файла в инет и скачивание его оттуда




   Наверх