Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2011, 20:04   #1
new player
Форумчанин
 
Регистрация: 30.08.2010
Сообщений: 153
По умолчанию TreeView

Доброго всем дня,

Делаю так: гружу в TreeView корень и первый уровень идущих от него элементов. Проверяю наличие у этих самых элементов следующего поколения «детей» в момент раскрытия узла, при обработке события OnClick. То есть кликаю по элементу, проверяю есть ли у него «дети» в событие OnClick и если есть загружаю их.

Возникли некоторые проблемы:

1) При еще одном клике по узлу – в n-ый раз загружаются «дети». То есть надо бы их предварительно удалить и только потом заново закинуть, но как это сделать для выбранного узла не знаю.

2) Как проверить, что узел, по которому кликаешь развернут (или нет)?

3) Как добавить иконку с крестиком для всех узлов, а не только для тех, у которых есть «дети»? Можно добавить свое изображение, но тогда иконки повторяются.

Вот такие вопросы. Буду признателен любой помощи.
new player вне форума Ответить с цитированием
Старый 14.03.2011, 20:30   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

1) TreeView1.Selected.DeleteChildren;
2) if TreeView1.Selected.Expanded then
3) Не помню, потому врать не буду
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.03.2011, 11:52   #3
krGorka
Пользователь
 
Регистрация: 26.04.2010
Сообщений: 35
По умолчанию

по вопросу 3
можешь создать ImageList, туда закинуть нужные иконки и программно их присвоить узлам или через редактор TreeView . Можешь здесь что-то найдешь http://decoding.narod.ru/practic/treeview/treeview.html
krGorka вне форума Ответить с цитированием
Старый 15.03.2011, 12:11   #4
new player
Форумчанин
 
Регистрация: 30.08.2010
Сообщений: 153
По умолчанию

Stilet
1) Спасибо.
2) Спасибо.
3) И все равно спасибо.

krGorka
Спасибо. Читал это, но помогло слабовато. Надо буде перечитать.


Вопрос вдогонку: можно как-нибудь проверить есть ли у узла, по которому кликаешь, «дети»?
new player вне форума Ответить с цитированием
Старый 15.03.2011, 13:29   #5
asmodey1
Подтвердите свой е-майл
 
Регистрация: 19.12.2010
Сообщений: 808
По умолчанию

F1 -> TTreeView -> Items -> TTreeNodes -> Item -> TTreeNode -> Properties -> HasChildren...
Или это за гранью понимания ?

Последний раз редактировалось asmodey1; 16.03.2011 в 12:54.
asmodey1 вне форума Ответить с цитированием
Старый 16.03.2011, 09:27   #6
new player
Форумчанин
 
Регистрация: 30.08.2010
Сообщений: 153
По умолчанию

asmodey1

Спасибо. Уже сам нашел

Код:
TreeView_KO.Selected.HasChildren
new player вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TreeView W0LF Общие вопросы Delphi 3 10.04.2010 17:10
treeview cheef Компоненты Delphi 3 15.04.2009 15:18
TreeView Help KWN, lnc Общие вопросы Delphi 12 03.03.2009 10:34
TreeView и БД Constellation БД в Delphi 12 27.09.2008 15:22