![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по компоненту TreeView [D7, Win2k]
remlin © (2005-06-02 10:11:00)Как в компоненте TreeView узнать, выделенный узел является главным узлом или дочерним?
И ещё мне надо связать с каждым узлом дерева текстовые данные, например: описание, id узла, ссылка на файл и т.д. Как это можно сделать наиболее простым способом?
Спасибо.
Ega23 (2005-06-03 13:12:00) [1]
PStructFile=^StructFile;
StructFile = record
ItemName:string; // имя узла
ItemFunction:string; // просто текст
ItemDescription:string; //описание
... //что-то ещё
end;
var
p:PStructFile;
begin
New(P);
P^.ItemName='';
P^.ItemDescription=....
.....
Node.Date:=P;
end;
Естественно, не забыть Dispose сделать.
remlin (2005-06-03 12:57:00) [2]А можно примерчик про присваивания каждому узлу объекта. А то что-то получается - да не так.
Надо каждому узлу присвоить такую структуру:
StructFile = record
ItemName:string; // имя узла
ItemFunction:string; // просто текст
ItemDescription:string; //описание
... //что-то ещё
end;
При создании узла функцией AddObject появляется модальное окно, где я в Edit и заполняю поля структуры.
Потом задача стоит при закрытии приложения записать всё это в файл.А при открытии считать.При щелчке по узлу дерева должно появиться модальное окно со значениями полей структуры StructFile принадлежащей узлу.
remlin (2005-06-02 13:09:00) [3]Спасибо!
Ega23 (2005-06-02 12:44:00) [4]А можно примерчик по TTreeNode.Parent (Ega23). Как это реализовать?
if not Assigned(Node.Parent) then // корневой узел
else // дочерний узел.
Вообще - вариантов - масса. Можно и с Level, как begin...end © (02.06.05 12:35) [5] написал.
begin...end (2005-06-02 12:35:00) [5]if Assigned(TreeView.Selected) then
if TreeView.Selected.Level = 0 then
// Выбран главный узел
else
// Выбран дочерний узел
remlin (2005-06-02 12:34:00) [6]А можно примерчик по TTreeNode.Parent (Ega23). Как это реализовать?
remlin (2005-06-02 12:31:00) [7]-->> s.s.
можно и так:
if TreeView.Selected.HasChildren then
Shwmessage('Узел имеет дочерние элементы')
-=S.S=- (2005-06-02 11:25:00) [8]If TreeView1.Selected.getFirstChild = nil then
Shwmessage('Узел не имеет дочерних элементов')
Ega23 (2005-06-02 10:14:00) [9]Как в компоненте TreeView узнать, выделенный узел является главным узлом или дочерним?
TTreeNode.Parent
И ещё мне надо связать с каждым узлом дерева текстовые данные, например: описание, id узла, ссылка на файл и т.д. Как это можно сделать наиболее простым способом?
TTreeNode.Data - можешь туда любой указатель впихнуть. Например, на свою структуру, или класс.