Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по компоненту TreeView   Найти похожие ветки 

 
remlin   (2005-06-02 10:11) [0]

Как в компоненте TreeView узнать, выделенный узел является главным узлом или дочерним?
И ещё мне надо связать с каждым узлом дерева текстовые данные, например: описание, id узла, ссылка на файл и т.д. Как это можно сделать наиболее простым способом?
Спасибо.


 
Ega23 ©   (2005-06-02 10:14) [1]

Как в компоненте TreeView узнать, выделенный узел является главным узлом или дочерним?

TTreeNode.Parent

И ещё мне надо связать с каждым узлом дерева текстовые данные, например: описание, id узла, ссылка на файл и т.д. Как это можно сделать наиболее простым способом?

TTreeNode.Data  - можешь туда любой указатель впихнуть. Например, на свою структуру, или класс.


 
-=S.S=- ©   (2005-06-02 11:25) [2]

If TreeView1.Selected.getFirstChild = nil then
 Shwmessage("Узел не имеет дочерних элементов")


 
remlin   (2005-06-02 12:31) [3]

-->> s.s.
можно и так:
if TreeView.Selected.HasChildren then
Shwmessage("Узел имеет дочерние элементы")


 
remlin   (2005-06-02 12:34) [4]

А можно примерчик по TTreeNode.Parent (Ega23). Как это реализовать?


 
begin...end ©   (2005-06-02 12:35) [5]

if Assigned(TreeView.Selected) then
 if TreeView.Selected.Level = 0 then
   // Выбран главный узел
 else
   // Выбран дочерний узел


 
Ega23 ©   (2005-06-02 12:44) [6]

А можно примерчик по TTreeNode.Parent (Ega23). Как это реализовать?

if not Assigned(Node.Parent) then // корневой узел
else // дочерний узел.

Вообще - вариантов - масса. Можно и с Level, как begin...end ©   (02.06.05 12:35) [5] написал.


 
remlin   (2005-06-02 13:09) [7]

Спасибо!


 
remlin   (2005-06-03 12:57) [8]

А можно примерчик про присваивания каждому узлу объекта. А то что-то получается - да не так.
Надо каждому узлу присвоить такую структуру:
 StructFile = record
              ItemName:string; // имя узла
              ItemFunction:string; // просто текст
              ItemDescription:string; //описание
              ... //что-то ещё
              end;

При создании узла функцией AddObject появляется модальное окно, где я в Edit и заполняю поля структуры.
Потом задача стоит при закрытии приложения записать всё это в файл.А при открытии считать.При щелчке по узлу дерева должно появиться модальное окно со значениями полей структуры StructFile принадлежащей узлу.


 
Ega23 ©   (2005-06-03 13:12) [9]


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 сделать.



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

Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.052 c
14-1117816051
ArMellon
2005-06-03 20:27
2005.06.29
Лучшие песни Within temptation


14-1117367194
Qwertyk
2005-05-29 15:46
2005.06.29
Банеры


9-1111398339
reticon
2005-03-21 12:45
2005.06.29
Про DIKeyboard.SetDataFormat


3-1116588216
dream
2005-05-20 15:23
2005.06.29
Ошибка при добавлени записи в базу


14-1117970147
Juice
2005-06-05 15:15
2005.06.29
Глючит проводник. Что делать ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский