![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Добрый день, не могу сообразить как передвинуть узел. Есть дерево с узлами, встаю на нужный узел, нажимаю на кнопку: "Передвинуть ВВЕРХ" - и он должен передвинуться на 1 позицию вверх(вниз).
|
|
#2
|
||||
|
||||
|
Добвресу и вам, пытался такое проделать путём вырезки-врезки узлов, но нарушается порядок следования нод, нашёл вариант, но он оказался не рабочим, выскакивало с ошибками, поэтому остановился на банальном перемещении названий, что-то типа этого
Код:
procedure TFPlay.sbFileUpMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
s1, s2, d1, d2 : string;
begin
if (tv.Selected = nil) or
(tv.Selected.AbsoluteIndex = 0) then
exit
else
with tv.Selected do
begin
if EditText then EndEdit(false);
s1:= GetPrevVisible.Text;
s2:= GetPrevVisible.GetLastChild.Text;
d1:= Text;
d2:= GetLastChild.Text;
Text:= s1;
GetLastChild.Text:= s2;
GetPrevVisible.Text:= d1;
GetPrevVisible.GetLastChild.Text:= d2;
GetPrevVisible.Selected:= true;
end;
end; |
|
#3
|
|||
|
|||
|
ОО, не так не пойдёт,)
Есть ещё у кого какие варианты? |
|
#4
|
||||
|
||||
|
Внимание, правильный ответ:
Код:
begin
with TreeView1.Selected do
MoveTo(GetPrevSibling, naInsert);
end; |
|
#5
|
||||
|
||||
|
Это перемещение вверх, а вниз наверное так
Код:
with TreeView1.Selected.GetNextSibling do MoveTo(GetPrevSibling, naInsert); Последний раз редактировалось Alegun, 09.07.2013 в 09:48. |
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
NewCoder (09.07.2013)
| ||
|
#6
|
||||
|
||||
|
Ах!
_______ |
|
#7
|
|||
|
|||
|
Всем спасибо, сейчас буду пробовать)
|