Мне надо в компоненте TTreeView сделать по нажатию кнопок перемещение выделенной ветки (со всеми ее подветками) вверх / вниз в пределах ее родителя. Код ниже двигает только саму ветку (без подветок), и по всему дереву, а не в пределах родительской ветки.
- Код: Выделить всё
- procedure TTreeForm.btnUpClick(Sender: TObject);
 var
 i : integer;
 begin
 i:=TreeView1.Selected.AbsoluteIndex ; {определяем индекс выделенной ветки}
 if i<>0 then TreeView1.Selected.MoveTo(TreeView1.Items[i-1], naInsert);
 end;
 procedure TTreeForm.btnDownClick(Sender: TObject);
 var
 i:integer;
 begin
 i:=TreeView1.Selected.AbsoluteIndex ;
 if i<>TreeView1.Items.Count-1 then TreeView1.Items[i+1].MoveTo(TreeView1.Selected, naInsert);
 end;
Есть ли простой способ (без рекурсии) переместить всю ветку с ее дочками вверх / вниз?


