Форум: "Начинающим";
Текущий архив: 2009.08.16;
Скачать: [xml.tar.bz2];
Внизкак в TreeView запомнить на какой позиции находится выделение Найти похожие ветки
← →
kirat © (2009-06-22 14:36) [0]Доброе времени суток. Подскажите, пожалуйста, как в TreeView запомнить на какой позиции находится выделение и после обновления дерева выделить ту же запись
← →
Palladin © (2009-06-22 14:39) [1]собсна нужно просто запомнить путь к пункту...
← →
Palladin © (2009-06-22 14:45) [2]а для того что бы это сделать корректно, необходимо каждому пункту иметь какой то внешний ключ, уникальный хотя бы в пределах ветки
← →
kirat © (2009-06-22 15:00) [3]Ну вот:
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;
Узнал я полный путь. Но как потом вернуть курсор туда же?
← →
Palladin © (2009-06-22 15:04) [4]в обратном порядке
← →
Сергей М. © (2009-06-22 15:05) [5]
> как потом вернуть курсор туда же?
нужно написать процедуру, которая осуществляет разбор строки, содержащей путь..
← →
kirat © (2009-06-22 15:16) [6]Подскажите пожалуста хоть какой процедурой переместить!
← →
Palladin © (2009-06-22 15:18) [7]TTreeNode.Selected
← →
kirat © (2009-06-22 15:21) [8]А Node где указать?
← →
Palladin © (2009-06-22 15:22) [9]его не нужно указывать, его нужно найти
← →
kirat © (2009-06-22 15:28) [10]Вы конечно извините ну пожалуйста покажите на примере.
Вот мне, например, известно, что путь по моему дереву "Дерево2-Ветка3"
Как мне Выделить Ветку3 программно.
← →
Palladin © (2009-06-22 15:31) [11]Pos + F1
Copy + F1
For + F1
TTreeNode.Count + F1
TTreeNode.Item + F1
ну я не понимаю, трудно что ли в справку посмотреть на предмет состава?
← →
Сергей М. © (2009-06-22 15:36) [12]В лесу искать Дерево2.
Если найдено, то на нем искать Ветка3.
← →
kirat © (2009-06-22 15:43) [13]Нахожу я и дерево и ветку а как его ВЫДЕЛИТЬ?
← →
Сергей М. © (2009-06-22 15:44) [14]
> как его ВЫДЕЛИТЬ?
Лес.Selected := то_что_ты_нашел
← →
Palladin © (2009-06-22 15:48) [15]
> kirat © (22.06.09 15:43) [13]
а в [7] я кому интересно написал? Сержу?
← →
kirat © (2009-06-22 15:51) [16]Сергей М.
> Лес.Selected := то_что_ты_нашел
Вот спасибо!
← →
kirat © (2009-06-22 15:52) [17]Palladin я просто не понял что написать после =
Спасибо и извените сли что не так! =)
← →
kirat © (2009-06-22 16:22) [18]Все отлично у меня выделяет но если я дерево заново перестраиваю не выделяет.
tt:=TreeView.Selected;
TreeViewUpdate;
TreeView.Selected:=tt;
а вот так нормально
tt:=TreeView.Selected;
TreeView.Selected:=tt;
← →
kirat © (2009-06-22 16:24) [19]TreeViewUpdate:
TreeView.Items.Clear;
for i2:=1 to j2 do
begin
node2:= TreeView.Items.AddChild(node,asstring);
end;
← →
clickmaker © (2009-06-22 16:54) [20]> [18] kirat © (22.06.09 16:22)
tt - это адрес в памяти выделенной ветки.
после апдейта она живет уже по другому адресу
← →
Ega23 © (2009-06-22 16:54) [21]
> TreeView.Items.Clear;
Ещё бы.
Вот представь. У тебя книга. Ты заложил её закладкой на 254 странице.
Потом вырвал все страницы. Потом напихал туда новых (возможно и в другом порядке). И ты хочешь, чтобы у тебя "само" получилось, что на 254 странице та же закладка?
← →
kirat © (2009-06-22 16:56) [22]Все. Всем грамадное спасибо! Тема закрыта!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.08.16;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.011 c