procedure TForm1.DGAddNode(TV:ttreeview;selectnode,addnode:ttreenode); var i,selindex:Integer; tempnode:TTreeNode; begin selectnode:=TV.Selected; if selectnode=nil then exit; if selectnode=TV.Items.GetFirstNode then Exit; addnode:=TV.Items.AddChild(TreeView2.Items.GetFirstNode,'o'); tempnode.Assign(addnode);//这里出错,我原想把tempnode的值最后赋给插入处的node呢 for i:=0 to TV.Items.Count-1 do begin if TV.Items[i]=TV.Selected then begin selindex:=i; Break; end; end; showmessage(inttostr(selindex)); for i:=TV.Items.Count-1 downto selindex+1 do begin TV.Items[i].Text:=TV.Items[i-1].Text; TV.Items[i].Data:=TV.Items[i-1].Data; end; selectnode.Text:=tempnode.Text; selectnode.Data:=tempnode.Data; end;
var
i,selindex:Integer;
tempnode:TTreeNode;
begin
selectnode:=TV.Selected;
if selectnode=nil then exit;
if selectnode=TV.Items.GetFirstNode then Exit;
addnode:=TV.Items.AddChild(TreeView2.Items.GetFirstNode,'o');
tempnode.Assign(addnode);//这里出错,我原想把tempnode的值最后赋给插入处的node呢
for i:=0 to TV.Items.Count-1 do
begin
if TV.Items[i]=TV.Selected then
begin
selindex:=i;
Break;
end;
end;
showmessage(inttostr(selindex));
for i:=TV.Items.Count-1 downto selindex+1 do
begin
TV.Items[i].Text:=TV.Items[i-1].Text;
TV.Items[i].Data:=TV.Items[i-1].Data;
end;
selectnode.Text:=tempnode.Text;
selectnode.Data:=tempnode.Data;
end;