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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2014, 11:37   #1
Женька Good
Форумчанин
 
Регистрация: 15.03.2011
Сообщений: 126
По умолчанию Связь Label и узел в Treeview

Доброго времени суток,

мне необходимо каждому узлу в "дереве" прикрепить путь к файлу. Для решения данной задачи решил создать лейблы для каждого узла.

Код:
procedure TForm1.Button7Click(Sender: TObject);
var i:byte;
begin
for I := 0 to TreeView1.Items.Count-1 do begin
  createlabels(i);
end;
end;

procedure TForm1.createlabels(offset: integer);
begin
   path_to_fail := TLabel.Create(form1);
   path_to_fail.Parent := form1;
   path_to_fail.Left := 350;
   path_to_fail.Top:=16*offset;
   path_to_fail.Visible:=true;
   path_to_fail.Name:='label'+inttostr(offset)+IntToStr(TreeView1.Items.Item[offset].Level);
   path_to_fail.Caption:=path_to_fail.Name;

end;
затем при нажатии на кнопку через opendialog получаю путь к файлу и заношу его в label.caption.
Код:
procedure TForm1.Button6Click(Sender: TObject);
begin
OpenDialog1.Execute;
Imya_Otkr_fayla:=OpenDialog1.FileName;
(findcomponent('label'+inttostr(TreeView1.Selected.Index)+IntToStr(TreeView1.Selected.Level)) as TLabel).Caption:=Imya_Otkr_fayla;
end;
В чем собственно говоря проблема: не знаю как связать узел в дереве с соответствующим ему лейблом, т.к. в моем варианте, я не правильно обращаюсь к узлу, что влечет за собой неправильное добавление пути к файла к определенному узлу.

может, если кто сталкивался, то предложит другой вариант.
Добавлять путь к файлу в свойство текст узла нельзя.
Женька Good вне форума Ответить с цитированием
Старый 01.04.2014, 11:51   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

На лэйблах свет клином не сошелся. Есть, например, еще StringList, куда пути можно поместить. А у каждго нода есть свойство Data, куда можно поместить индекс итема этого стринглиста
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.04.2014, 11:53   #3
Женька Good
Форумчанин
 
Регистрация: 15.03.2011
Сообщений: 126
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
На лэйблах свет клином не сошелся. Есть, например, еще StringList, куда пути можно поместить. А у каждго нода есть свойство Data, куда можно поместить индекс итема этого стринглиста
немного не понял, что это за компонент такой?
Женька Good вне форума Ответить с цитированием
Старый 01.04.2014, 11:56   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Сообщение от Женька Good Посмотреть сообщение
немного не понял, что это за компонент такой?
Немного? Скорее ничего. Набирай в проге TStringList, выдели и нажми F1. В справке все описано. Ну и гугл подскажет
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не добавляется дочерний узел в родительский в TreeView artemavd Общие вопросы Delphi 10 11.05.2012 15:11
TreeView выделить дочерний узел Dozent Общие вопросы Delphi 1 02.05.2012 08:34
Как лучше (надежнее) удалить узел из TreeView? artemavd Общие вопросы Delphi 2 07.04.2012 20:39
сделать недоступным узел в TreeView Don Karleone Общие вопросы Delphi 5 21.02.2011 23:46
Как выделить узел в TreeView inndim Общие вопросы Delphi 3 23.10.2008 13:32