Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как в TreeView запомнить на какой позиции находится выделение [D7, XP]


Страницы:   1 2

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;

Узнал я полный путь. Но как потом вернуть курсор туда же?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо