|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.06.2011, 17:16 | #1 |
Пользователь
Регистрация: 29.05.2011
Сообщений: 24
|
Работа с TreeView
Привет всем.
]У меня в TreeView есть пять корневых катологов, мне нужно из подкатолога выделить корневой католог, а затем снова выделить тот католог в котором я был. Например:Корневой котолог... Мне нужно из Подкорневого котолога3 выделить Корневой котолог, а затем снова выделить Подкорневой котолог3.Подкорневой котолог1 Подкорневой котолог2 Подкорневой котолог3 Как это можно сделать???
|
08.06.2011, 17:36 | #2 | |
Пользователь
Регистрация: 29.05.2011
Сообщений: 24
|
Цитата:
|
|
08.06.2011, 18:03 | #3 |
Регистрация: 03.06.2011
Сообщений: 6
|
а параметр MultiSelect не поможет? Или тебе надо при выделении одной ветки, автоматом выделить другую?
|
08.06.2011, 18:33 | #4 |
Пользователь
Регистрация: 29.05.2011
Сообщений: 24
|
Вообще я работаю с реестром. Мне необходимо при создании параметра в ListView как бы обновить реестр, а для этого мне нужно просто выделить в TreeView самый верхний корневой котолог(например корневой католог HKEY_CURRENT_USER), а затем вернуться обратно во вложенный именно в этот корневой католог подкатолог. Использовать AbsolutIndex я не могу, т.к. дерево у меня создается динамически... А можно как нибудь пометить пять корневых катологов и обращаться к ним по особой метке???
|
08.06.2011, 18:41 | #5 | |
Пользователь
Регистрация: 29.05.2011
Сообщений: 24
|
Цитата:
{процедура переименования параметра} procedure TForm1.N6Click(Sender: TObject); Var Str: string; begin Try REG2:= TRegistry.Create; REG2.RootKey:=HKEY_CURRENT_USER; REG2.OpenKey(Edit1.Text,true); InputQuery('Вопрос','Введите новое имя параметра',str); if str='' then exit; if ListView1.Selected.Index=-1 then exit; REG2.RenameValue(ListView1.Selected .Caption,Str); REG2.CloseKey; REG2.Destroy; ListView1.Selected.Delete; ListView1.Items.Add.Caption:=str; {блок обновления ListBox} obn:=TreeView1.Selected.AbsoluteInd ex; TreeView1.Select(TreeView1.Items[0]); TreeView1.Select(TreeView1.Items[obn]); except on EAccessViolation do begin ShowMessage('Вы невыбрали параметр!!!'); Exit; end; end; end; РАБОТАЛ, но только для одного корневого католога, а теперь у меня их пять!!! не знаю что делать |
|
08.06.2011, 19:11 | #6 |
Пользователь
Регистрация: 13.05.2011
Сообщений: 42
|
я не понял вопроса то есть тебе нужно определить индекс подкаталога и каталога?
|
08.06.2011, 19:15 | #7 |
Пользователь
Регистрация: 13.05.2011
Сообщений: 42
|
var node:TTreeView;ind,ind2:integer;
..... if TreeView1.Selected = nil then Exit; Node := TreeView1.Selected; if (Node.getFirstChild = nil)and(Node.Parent <> nil) then begin TreeView1.Select(TreeView1.Items[Node.Parent.Index]); end Последний раз редактировалось mrCloud; 08.06.2011 в 19:50. |
09.06.2011, 00:37 | #8 |
Пользователь
Регистрация: 29.05.2011
Сообщений: 24
|
всем спасибо я уже решил проблему
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
работа с treeview | linuxoid1 | Общие вопросы Delphi | 1 | 28.06.2010 09:40 |
Работа с TreeView | Sensizu | Общие вопросы Delphi | 0 | 15.06.2010 14:58 |
работа с treeview | street-walker | Общие вопросы Delphi | 4 | 10.05.2010 19:13 |
Работа с TreeView | orkus | Общие вопросы Delphi | 4 | 06.04.2010 13:56 |
Работа с TreeView | zotox | Общие вопросы Delphi | 2 | 18.09.2009 23:00 |