| > >> G> Люди, помогите плиз понять TTreeView. > >> G> Немогу заставить, при клике на узел, загрузить текстовый файл. > >> G> Желательно посмотреть на код. > >> G> Заранее всем спасибо. > >> > >> Проблема, как я понял в том, чтобы узнать, на какой узел кликнул? > >> Для TreeView событие OnClick создать. > >> В событии можно определить ветку которая выделена: > >> Node:=MyTree.Selected; > >> if Node <> nil then > >> begin > >> //Ваши действия по работе с файлами > >> end else > >> application.messagebox('Нет выделенной ветки!','Warning',0); > > G> Нет, не совсем так. > G> Немогу заставить, при клике на какой нибудь узел, загрузить и вывести |
файл
| > в > G> какое нибудь поле, скажем Memo1. > > Вот пример обработчика при клике на дерево!! > > procedure TForm1.TreeView1Click(Sender: TObject); > begin > if TreeView1.Selected<>nil then > begin > memo1.Clear; > memo1.Lines.LoadFromFile('d:\install.log'); > end; > > end; |
Это я понял. Спасибо.
А как привязать к определенному узлу определенный файл? Чтоб например
кликнул на узел 1 у тебя открылся файл 1.txt, кликунл на узел 2 у тебя
открылся файл 2.txt, и т. д.
Как это можно оптимизировать?
Как сделать, чтоб можно было только читать узлы и то что они выводят. Тоесть
нельзя ничего менять.
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru
http://subscribe.ru/ mailto:ask@subscribe.ru
Здравствуйте, Gift,
Saturday, December 20, 2003, 7:11:11 PM, вы писали:
Очень просто, во-первых к каждой ветке можно пришить номер.
Node.SelectedIndex=число целое(0...N)
Во-вторых, к каждой ветке можно присобачить любые данные. Например
запись или объект!
type TMyRec=record
Index:Integer;
Caption:string[30];
end;
var MyData:^TMyRec;
//--------Заносим данныеnew(myData);
myData^.Index:=1;
myData^.Caption:='Файл данных.dat';
Node.Data:=MyData;
////-------Читаем данныеNode:=TreeView1.selected;
MyData:=Node.data;