![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как в TreeView запомнить на какой позиции находится выделение [D7, XP]
kirat © (2009-06-22 14:36:00)Доброе времени суток. Подскажите, пожалуйста, как в TreeView запомнить на какой позиции находится выделение и после обновления дерева выделить ту же запись
kirat (2009-06-22 16:56:00) [1]Все. Всем грамадное спасибо! Тема закрыта!
Ega23 (2009-06-22 16:54:00) [2]
> TreeView.Items.Clear;
Ещё бы.
Вот представь. У тебя книга. Ты заложил её закладкой на 254 странице.
Потом вырвал все страницы. Потом напихал туда новых (возможно и в другом порядке). И ты хочешь, чтобы у тебя "само" получилось, что на 254 странице та же закладка?
clickmaker (2009-06-22 16:54:00) [3]> [18] kirat © (22.06.09 16:22)
tt - это адрес в памяти выделенной ветки.
после апдейта она живет уже по другому адресу
kirat (2009-06-22 16:24:00) [4]TreeViewUpdate:
TreeView.Items.Clear;
for i2:=1 to j2 do
begin
node2:= TreeView.Items.AddChild(node,asstring);
end;
kirat (2009-06-22 16:22:00) [5]Все отлично у меня выделяет но если я дерево заново перестраиваю не выделяет.
tt:=TreeView.Selected;
TreeViewUpdate;
TreeView.Selected:=tt;
а вот так нормально
tt:=TreeView.Selected;
TreeView.Selected:=tt;
kirat (2009-06-22 15:52:00) [6]Palladin я просто не понял что написать после =
Спасибо и извените сли что не так! =)
kirat (2009-06-22 15:51:00) [7]Сергей М.
> Лес.Selected := то_что_ты_нашел
Вот спасибо!
Palladin (2009-06-22 15:48:00) [8]
> kirat © (22.06.09 15:43) [13]
а в [7] я кому интересно написал? Сержу?
Сергей М. (2009-06-22 15:44:00) [9]
> как его ВЫДЕЛИТЬ?
Лес.Selected := то_что_ты_нашел
kirat (2009-06-22 15:43:00) [10]Нахожу я и дерево и ветку а как его ВЫДЕЛИТЬ?
Сергей М. (2009-06-22 15:36:00) [11]В лесу искать Дерево2.
Если найдено, то на нем искать Ветка3.
Palladin (2009-06-22 15:31:00) [12]Pos + F1
Copy + F1
For + F1
TTreeNode.Count + F1
TTreeNode.Item + F1
ну я не понимаю, трудно что ли в справку посмотреть на предмет состава?
kirat (2009-06-22 15:28:00) [13]Вы конечно извините ну пожалуйста покажите на примере.
Вот мне, например, известно, что путь по моему дереву "Дерево2-Ветка3"
Как мне Выделить Ветку3 программно.
Palladin (2009-06-22 15:22:00) [14]его не нужно указывать, его нужно найти
kirat (2009-06-22 15:21:00) [15]А Node где указать?
Palladin (2009-06-22 15:18:00) [16]TTreeNode.Selected
kirat (2009-06-22 15:16:00) [17]Подскажите пожалуста хоть какой процедурой переместить!
Сергей М. (2009-06-22 15:05:00) [18]
> как потом вернуть курсор туда же?
нужно написать процедуру, которая осуществляет разбор строки, содержащей путь..
Palladin (2009-06-22 15:04:00) [19]в обратном порядке
kirat (2009-06-22 15:00:00) [20]Ну вот:
procedure TForm4.TreeViewDblClick(Sender: TObject);
var
sPath: string;
begin
label1.Caption := SrNodeTree(TreeView.Selected, sPath);
end;
function TForm4.SrNodeTree(pTreeNode: TTreeNode;
var sRuta: string): string;
begin
sRuta := pTreeNode.Text + ' > ' + sRuta;
if pTreeNode.Level = 0 then Result := sRuta
else
Result := SrNodeTree(pTreeNode.Parent, sRuta);
end;
Узнал я полный путь. Но как потом вернуть курсор туда же?