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

Вниз

Работа с 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.026 c
6-1101807077
Vyacheslav
2004-11-30 12:31
2005.02.13
Как отобразит процесс загрузки по FTP


3-1105424532
Russko
2005-01-11 09:22
2005.02.13
Работа с базами InterBase


1-1107163743
denis24
2005-01-31 12:29
2005.02.13
Проверка поля стрингрида


3-1106035711
Bless
2005-01-18 11:08
2005.02.13
Можна ли сделать, чтобы внутри транзакции часть кода не откатывал


14-1106300659
Prepod
2005-01-21 12:44
2005.02.13
литература