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

Вниз

TreeView   Найти похожие ветки 

 
slim ©   (2004-10-29 20:15) [0]

здравствуйте.
может кто нибудь знает :

я добавляю родительский обект:

var
MyTreeNode1:TTreeNode;
with TreeView1 do
                     begin
MyTreeNode1:=Items.AddObject(nil,PLI^.name+"  "+PLI^.time,PLI);
                     end;


потом дочерний :

with TreeView1.Items do
 begin
     TreeView1.Font.Color:=clBlack;
   AddChildObject(nil,PLI^.name+"  "+PLI^.time,PLI);
     MyTreeNode1.Expand(true);
 end;
<\code>

получается примерно так:
name1  00:00:00
  file1  00:00:30
  file2  00:00:10
а хочется что бы так:
name1  00:00:40
  file1  00:00:30
  file2  00:00:10
т.е. при добавлении дочернего обекта изменялся и родительский
как это сделать?


 
Гаврила ©   (2004-10-29 20:39) [1]

перед добавление родительского узла посчитай сумму


 
slim ©   (2004-10-29 21:00) [2]

не могу я могу добавлять и удалять дочерние узлы и надо сразу скитать и переписывать


 
Гаврила ©   (2004-10-29 21:14) [3]


> MyTreeNode1:=Items.AddObject(nil,PLI^.name+"  "+PLI^.time,PLI);


эту переменную запомни, например в приват секции формы
при изменении списка дочек переприсваивай
MyTreeNode1.Text:= блаблабла


 
slim ©   (2004-10-29 21:17) [4]

а с объектом(PLI) как быть? он кроме имени и времени еще кучу инвы несёт которая тоже меняется и потом очень нужна


 
Rouse_ ©   (2004-10-29 21:18) [5]

А что изменить значение без всякого запоминания религия не позволяет? ;)


 
Гаврила ©   (2004-10-29 21:21) [6]

MyTreeNode1:=Items.AddObject(PLI,PLI^.name+"  "+PLI^.time,PLI);
Запомнай в узле и указатель на сам объект

Впрочем....
откуза там крышка "^"
это объект, изи запись?
я так понял, что не эукэмпляр класса

у меня нет delphi под рукой
там вообще разве есть  AddObject ???
проверить негде


 
slim ©   (2004-10-29 21:23) [7]

А как?
шас крыша поедет...


 
slim ©   (2004-10-29 21:28) [8]


type
   pPLI=^TPlayListItem;
   TPlayListItem=Record
     tip:string;
     name:string;
     path:string;
     SoundFile:string;
     frameleng:integer;
     SoundCanals:integer;
     Dispname:string;
     vcodec:string;
     Time:TTime;
     acodec:string;
     start,stop:Int64;
   end;

да запись


 
slim ©   (2004-10-29 21:30) [9]

A AddObject есть щас на него любуюсь


 
slim ©   (2004-10-29 21:37) [10]


> MyTreeNode1:=Items.AddObject(nil,PLI^.name+"  "+PLI^.time,PLI);

эту переменную запомни, например в приват секции формы
при изменении списка дочек переприсваивай
MyTreeNode1.Text:= блаблабла

а так работает спасибо, но не до конца как надо:( если бы и обект изменить.


 
Гаврила ©   (2004-10-29 21:44) [11]


> [10] slim


Если хочешь сделать все грамотно, рекомендую сделать так:
определить потомка от TTreeNode, добавить в него те поля, которые есть в твоем record " е
сам record выкинуть
при добавлении узлов в дерево добавлять именно экземпляры класса твоего потомка
доступ к тем полям потомка, которые влияют за текст, сделать через свойства, в методах Set которых корректировать свой собственный заголовок.
При формировании заголовка учитывать также список дочек, если надо


 
slim ©   (2004-10-30 12:18) [12]

нашел!!!
так лучше и как надо:

 MyTreeNode1.Data:=PLI;
 MyTreeNode1.Text:=PLI^.name+"  "+PLI^.time;



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

Текущий архив: 2004.11.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.033 c
8-1092298503
nasty
2004-08-12 12:15
2004.11.14
анимация в application.onidle


14-1098860395
han-bratan
2004-10-27 10:59
2004.11.14
Delphi 2005


14-1098772125
malamba
2004-10-26 10:28
2004.11.14
Кто как пишет запросы?


14-1098791059
VolanD666
2004-10-26 15:44
2004.11.14
Отличия Builder and Delphi.


14-1098703907
Dimedrol
2004-10-25 15:31
2004.11.14
Windows XP Professional 64-bit Edition





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский