Форум: "Основная";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];
ВнизПуть к ветке дерева Найти похожие ветки
← →
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 вся ветка
Форум: "Основная";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c