Мне надо в компоненте 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;
Есть ли простой способ (без рекурсии) переместить всю ветку с ее дочками вверх / вниз?