var i,j,k:integer; cls_node,stu_node,node:TTreeNode; s:string; begin if tv1.selected.Level=1 then if not tv1.Selected.HasChildren then begin node:=tv1.selected; s:=node.Text; k:=node.ImageIndex; tv1.Items.Delete(tv1.selected);
i:=class1.ItemIndex;
cls_node:=tv1.Items.GetFirstNode; for j:=1 to i do begin cls_node:= cls_node.GetLastChild; cls_node:=cls_node.GetNext; end; stu_node:=tv1.Items.AddChild(cls_node,s); stu_node.ImageIndex:=k; end; end;
上个是左边变化,这个是右边变化 var i,j,k:integer; cls_node,stu_node,node,node1:TTreeNode; s:string; flag:boolean; begin if tv1.selected.Level=1 then if not tv1.Selected.HasChildren then begin node:=tv1.selected; s:=node.Text; k:=node.ImageIndex;
if class1.ItemIndex=-1 then i:=class2.ItemIndex else begin i:=class1.ItemIndex; end; cls_node:=tv1.Items.GetFirstNode; for j:=1 to i do begin cls_node:= cls_node.GetLastChild; cls_node:=cls_node.GetNext; end; i:=tv2.Items.Count; node:=tv2.Items.GetFirstNode; begin for j:=1 to i do begin if node.Level=0 then begin if node.Text=cls_node.Text then begin flag:=true; end else node:=node.GetNext; end else node:=node.GetNext; end; end; end; //判断此学生是否已经分完班了 if flag then begin node1:=tv2.Items.GetFirstNode; i:=tv2.Items.Count; for k:=1 to i do begin if node1.Text=s then flag:=false else node1:=node1.GetNext ; end; end; if flag then tv2.Items.AddChild(node,s) else showmessage('这个学生已经转完班了'); end;
2-再用selectnode查找所选班级节点,幅个另一个节点变量 b。
3-AddChildObject函数添加b的字节点,
4-Delete删除原来的节点。
i,j,k:integer;
cls_node,stu_node,node:TTreeNode;
s:string;
begin
if tv1.selected.Level=1 then
if not tv1.Selected.HasChildren then
begin
node:=tv1.selected;
s:=node.Text;
k:=node.ImageIndex;
tv1.Items.Delete(tv1.selected);
i:=class1.ItemIndex;
cls_node:=tv1.Items.GetFirstNode;
for j:=1 to i do
begin
cls_node:= cls_node.GetLastChild;
cls_node:=cls_node.GetNext;
end;
stu_node:=tv1.Items.AddChild(cls_node,s);
stu_node.ImageIndex:=k; end;
end;
var
i,j,k:integer;
cls_node,stu_node,node,node1:TTreeNode;
s:string;
flag:boolean;
begin
if tv1.selected.Level=1 then
if not tv1.Selected.HasChildren then
begin
node:=tv1.selected;
s:=node.Text;
k:=node.ImageIndex;
if class1.ItemIndex=-1 then
i:=class2.ItemIndex
else begin
i:=class1.ItemIndex;
end;
cls_node:=tv1.Items.GetFirstNode;
for j:=1 to i do
begin
cls_node:= cls_node.GetLastChild;
cls_node:=cls_node.GetNext;
end;
i:=tv2.Items.Count;
node:=tv2.Items.GetFirstNode;
begin
for j:=1 to i do
begin
if node.Level=0 then
begin
if node.Text=cls_node.Text then
begin
flag:=true;
end
else
node:=node.GetNext;
end
else
node:=node.GetNext;
end;
end;
end;
//判断此学生是否已经分完班了
if flag then
begin
node1:=tv2.Items.GetFirstNode;
i:=tv2.Items.Count;
for k:=1 to i do
begin
if node1.Text=s then
flag:=false
else
node1:=node1.GetNext ;
end; end;
if flag then
tv2.Items.AddChild(node,s)
else
showmessage('这个学生已经转完班了');
end;