![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как без нодов жить хорошо [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.