Форум: "Потрепаться";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
ВнизРабота с TTreeView and TTreeNode Найти похожие ветки
← →
RTS (2005-01-24 13:13) [0]Господа кто хорошо умеет работать с TreeView, такой вопрос, допустим у меня есть некое дерево например:
~~~~~~~~~~~~~~~~~~~~~~~~~
- Книги
|___
| |
| - Художественная литература
| |__
| | |
| | - Авторы
| | |__
| | + Лермонтов
| | |
| | + Пушкин <=
| | |
| | + Набоков
| |
| + Классика
| |
| + Фантастика
|
+ Другое
~~~~~~~~~~~~~~~~~~~~~~~~~
(это просто пример!)
~~~~~~~~~~~~~~~~~~~~~~~~~
к примеру выделяя узел Пушкин в строке состояния должно прописываться:
"Книги\Художественная литература\Пушкин".
Дерево может динамически изменяться.
Сам почти сделал, потом начал копать не в ту сторону и в итоге грохнул все функции, сейчас не знаю за, что браться :(
Пол года с этим TreeView не работал, а теперь срочно понадобилось... и так получилось, что именно через TreeView делать надо :(
Может кто делал такое уже подскажите пожалуйста буду очень благодарен :)
← →
Внук © (2005-01-24 13:17) [1]А теперь сформулируй вопрос :)
← →
BiN © (2005-01-24 13:19) [2]Внук © (24.01.05 13:17) [1]
А теперь сформулируй вопрос :)
Ну вот, человек рисовал дерево, старался, а ты....
:)
← →
P.N.P. © (2005-01-24 13:22) [3]Проявлю телепатические способности и предложу следующее :)
procedure TForm1.TreeView1Click(Sender: TObject);
var s:string;
procedure recurse(Node:TTreeNode);
begin
if Node=nil then exit;
s:=Node.Text+"\"+s;
recurse(Node.Parent);
end;
begin
recurse(Treeview1.Selected);
Caption:=s;
end;
← →
Алексей#13 © (2005-01-24 13:23) [4]Если я правильно понял, то вопрос состоит в том как вывести путь с строку состояния... Если это так, то:
Толи в вб толи в дельфи (не помню точно) у элемента была проперти path, в которой как раз и писался путь. Посмотри... Если нет то это можно сделать простым проходом по парентам, до тех пор пока он не будет нил (корень)
← →
RTS © (2005-01-24 13:28) [5]to Внук © А теперь сформулируй вопрос :)
Как мне получить названия всех главных узлов по отношению к узлу пушкин, если хотел заорать, то я понял, самому смешно :)
а если наглядно не понятно то ничем помочь не могу, хотя нет открой редактор реестра и посмотри снизу, все сразу станет ясно, а если после этого тоже не поймешь то я бессилен :), а вообще так и сказал бы что неработал с ним и незнаешь как ето сделать, зачем глупые вопросы задавать :))
← →
RTS © (2005-01-24 13:30) [6]To P.N.P. © (24.01.05 13:22) [3]
В эту сторону я как раз и повернул, не проканало :(
← →
Andryk © (2005-01-24 13:38) [7]
> P.N.P. © (24.01.05 13:22) [3]
Зачем здесь рекурсия? :))) Лишнее захламление стека и потеря времени на копирование в стек параметров.
function GetPath(Node:TTreeNode): string;
begin
while Node <> nil do
begin
Result := Node.Text+"\"+Result;
Node := Node.Parent;
end;
end;
← →
Внук © (2005-01-24 14:00) [8]>>RTS © (24.01.05 13:28) [5]
>>а вообще так и сказал бы что неработал с ним и незнаешь как >>ето сделать
LOL
← →
RTS © (2005-01-24 22:25) [9]to Внук © (24.01.05 14:00) [8]
CYA and BOKYAG or YCHT ^))) (т.е. вопросы)
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.048 c