Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как без нодов жить хорошо [Delphi, Windows]


Сергеич ©   (2006-07-09 01:48:00) 

Народ, хелп, как реализовать следующие функции на KolTreeView


  MainNode := TrV.Items.AddObject (Node, User, TableData_);//создаём главный узел
  MainNode.Selected := true;//выделяем его
.....
TreeNode := TrV.Items.AddChildObject (MainNode, DMd.ADODS.FieldByName ('System_name').AsString, TableData_);//добавляем дочерний узел с данными
TrV.Items.AddChildObject (TreeNode, '(пусто)', TableData_);//только для плюсика в родительском узле (этот узел скрыт. данные в него добавятся только при его раскрытии)
.....
MainNode.Expand (false);
......
BeginUpdate;
EndUpdate;
......
Node.getFirstChild.Data;


То, что возвращает функция Insert () - это сквозная нумерация или постоянная?

Пример скачал - очень жиденький, не раскрывает всей идеи.


Unknown Mystic   (2006-07-09 19:42:00) [1]

BeginUpdate и EndUpdate, тоже в книге посмотри.

А как насчет TVItemExpandedOnce[ Node ]?

А насчет книги... Так на этом форуме отдельная темя с таким названием есть...
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1140451160&n=10


Maloric   (2006-07-09 15:30:00) [2]

Книга о KOL на русском, всегда лежала здесь:
http://bonanzas.rinet.ru/KOLBook.rar


Сергеич   (2006-07-09 15:13:00) [3]

Ну вообщем реализовал так (поправьте что, если не так):

MainNode := TrV.Items.AddObject (Node, User, TableData_);
MainNode.Selected := true;
  MainNode := TrV.TVInsert (0, 0, User);
  TrV.TVItemData[MainNode] := TableData_;
  Trv.TVSelected := MainNode;


TreeNode := TrV.Items.AddChildObject (MainNode, ADODS.FieldByName ('name').AsString, TableData_);
TreeNode := TrV.TVInsert (MainNode, 0, AdoDS.FieldByName ('Name'));
        TrV.TVItemData[TreeNode] := TableData_;


Node.getFirstChild.Data;
TrV.TVItemData[TrV.TVItemChild[Item]]

MainNode.Expand (false);
TrV.TVExpand (MainNode, TVE_EXPAND);

Не нашёл аналогов BeginUpdate и EndUpdate.


> А для плюсика напротив не развернутых пустых элементов есть
> TVItemHasChildren[ Node ]

Мне то нужен Node.Data^.ID = 0, тогда я буду знать, что этот узел ещё не заполнялся. Можно, конечно, брать текст узла и если он "(пусто)", значит ещё не заполнялся. Топорно, на мой взгляд.


> Да аналогично все. Открой "Книгу о KOL".

Если на русском, то где взять?


Unknown Mystic   (2006-07-09 12:57:00) [4]

Да аналогично все. Открой "Книгу о KOL"...
А для плюсика напротив не развернутых пустых элементов есть TVItemHasChildren[ Node ].

А TVInsert, если о нем речь, возвращает не номер элемента, а его Handle.


Наверх

Титульная страница Поиск, карта сайта Написать письмо