sos ,please help me .(10分)

  • 主题发起人 主题发起人 hurryman
  • 开始时间 开始时间
H

hurryman

Unregistered / Unconfirmed
GUEST, unregistred user!
//
//i want insert all menu item to treeview from mainmenu
//but i can't ,this is my code .please help me .

procedure TForm1.Button1Click(Sender: TObject);
var i,j,k:integer ;
begin
for i:=0 to (mainmenu1.Items.Count-1) do
begin
k:=-1 ;
treeview1.Items.Add(nil,mainmenu1.Items.Caption) ;
for j:=0 to mainmenu1.Items.Count-1 do
begin
treeview1.Items.AddChild(treeview1.Items,mainmenu1.Items.Items[j].Caption );
k:=k+1;
if k=(mainmenu1.Items.Count-1) then
break
else
continue ;
end;
// break ;
end;
end;
 
遍厲菜單,把所有內容加到treeview里面,
可老是有問題,大家試一下
 
K是不是多余的。
good luck ! ^_^
 
当i=2时,treeview1.Items 的值
其实不是treeview1.Items.Add(nil,mainmenu1.Items.Caption) ;
而是j:=0时的那个item,当然会错了.

应该是:
[red]Node[/red]:=treeview1.Items.Add(nil,mainmenu1.Items.Caption) ;
for j:=0 to mainmenu1.Items.Count-1 do
begin
treeview1.Items.AddChild([red]Node[/red],mainmenu1.Items.Items[j].Caption );
k:=k+1;
if k=(([red]Node[/red].Count-1) then
......


 
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,k:integer ;
treenode:ttreenode;
begin
for i:=0 to (mainmenu1.Items.Count-1) do
begin
treenode:=treeview1.Items.Add(nil,mainmenu1.Items.Caption) ;
for j:=0 to mainmenu1.Items.Count-1 do
treeview1.Items.AddChild(treenode,mainmenu1.Items.Items[j].Caption );
end;
end;
不过只是可以显示两层的,如果要多层的话,修改一下,做个递归就可以那
 
做成递归就好了,你的程序水平有点。。。。。。
 
后退
顶部