Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.07.2012, 15:44
Kaban4ig Kaban4ig вне форума
Прохожий
 
Регистрация: 03.01.2011
Сообщения: 19
Репутация: 10
По умолчанию Пару вопросов по TreeView

Всем привет. Я добавляю детей прикрепляя объект через TreeView1.Items.AddChildObjectFirst. 1) Как например мне в событии онклик обратится к объекту который был прикреплен к этому узлу? 2) Можно ли при построение дерева выключить постоянную его перерисовку ?
Ответить с цитированием
  #2  
Старый 08.07.2012, 16:34
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Node.Data не?
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #3  
Старый 08.07.2012, 16:54
Кодер Кодер вне форума
Активный
 
Регистрация: 25.02.2008
Сообщения: 395
Репутация: -599
По умолчанию

2. BeginUpdate, EndUpdate ?
Ответить с цитированием
  #4  
Старый 08.07.2012, 17:08
Kaban4ig Kaban4ig вне форума
Прохожий
 
Регистрация: 03.01.2011
Сообщения: 19
Репутация: 10
По умолчанию

Цитата:
Сообщение от Кодер
2. BeginUpdate, EndUpdate ?
Не сработало.
Ответить с цитированием
  #5  
Старый 08.07.2012, 18:15
Kaban4ig Kaban4ig вне форума
Прохожий
 
Регистрация: 03.01.2011
Сообщения: 19
Репутация: 10
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
Node.Data не?
Спасибо. А как теперь обратиться именно к выбранному узлу ?TreeView1.Items[?].Item[?].Data;
Ответить с цитированием
  #6  
Старый 08.07.2012, 18:17
Кодер Кодер вне форума
Активный
 
Регистрация: 25.02.2008
Сообщения: 395
Репутация: -599
По умолчанию

Цитата:
Сообщение от Kaban4ig
Не сработало.
'Не сработало' это в каком смысле?! о_О
Делай так
Код:
Visible := False;
//формирование древа
Visible := True;

Последний раз редактировалось Кодер, 08.07.2012 в 18:19.
Ответить с цитированием
  #7  
Старый 08.07.2012, 18:22
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Код:
treeView1.Selected
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #8  
Старый 08.07.2012, 18:39
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Вроде TreeView.Selected или SelectedNode.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #9  
Старый 08.07.2012, 18:47
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
Радость

Код:
TreeView1.Selected.Data
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
Kaban4ig (08.07.2012)
  #10  
Старый 08.07.2012, 19:12
Kaban4ig Kaban4ig вне форума
Прохожий
 
Регистрация: 03.01.2011
Сообщения: 19
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
Код:
TreeView1.Selected.Data
Спасибо помогло.
Ответить с цитированием
  #11  
Старый 08.07.2012, 19:14
Kaban4ig Kaban4ig вне форума
Прохожий
 
Регистрация: 03.01.2011
Сообщения: 19
Репутация: 10
По умолчанию

Цитата:
Сообщение от Кодер
'Не сработало' это в каком смысле?! о_О
Делай так
Код:
Visible := False;
//формирование древа
Visible := True;
Снова не помогает. Самое интересное что когда добавляются дети их названия пишутся поочередно в название формы(!).
Ответить с цитированием
  #12  
Старый 08.07.2012, 19:18
Kaban4ig Kaban4ig вне форума
Прохожий
 
Регистрация: 03.01.2011
Сообщения: 19
Репутация: 10
По умолчанию

Ещё вопрос, а как очистить потом память от объектов которые я прикрепил? Или TreeView1.Items.Clear достаточно?
Ответить с цитированием
  #13  
Старый 08.07.2012, 20:00
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

нет, TreeView не сможет почистить, ведь он не знает о типе данных которые вы в него запихали, для него это просто указатель. Так-что чистить придется уже вам в методе Destroy для TreeView
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #14  
Старый 08.07.2012, 20:52
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от Kaban4ig
Снова не помогает. Самое интересное что когда добавляются дети их названия пишутся поочередно в название формы(!).

Значит что-то не так делаешь.
Код:
TreeView1.Items.BeginUpdate;
For I := 1 To 100 Do
  TrreView1.Items.AddChild(Nil,IntToStr(I)); // точно сигнатуру не помню.
TreeView1.Items.EndUpdate;

Для очистки объектов можно использовать такой трюк.
Создаешь эеземпляр класса TObjectList с Owned := True. При добавлении в дерево, объект также добавляешь в этот список. Далее, если ты просто очищаешь дерево, то также очищаешь и этот список. Если удаляешь один узел, то просто удаляешь соотв. объект из списка. Список сам вызовет деструктор для удаляемых объектов.
Ответить с цитированием
  #15  
Старый 08.07.2012, 21:49
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Можно InterfacedObject сделать и если ссылки на объекты будут отваливаться - то и объекты будут аннигилироваться.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:43.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter