TTreeView的問題 ( 积分: 19 )

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

houfuzhu1982

Unregistered / Unconfirmed
GUEST, unregistred user!
我先貼代碼,再描述問題:

procedure TfmClient.WMUserUpline(var message: TMessage);
var vNodeTree,vNodeTreeUp,vNodeTreeDown:TTreeNode;
i:Integer;
vUserName:string;
begin
if (message.WParam=-1)or(FriendLst.Count=0) then Exit;
vNodeTreeDown :=tvFrientList.Items.Item[0];//出問題的地方
for i:=0 to vNodeTreeDown.Count-1 do
begin
if GetFriendId(vNodeTreeDown.Item.Text)=FriendLst.String[message.WParam] then
begin
vUserName :=GetFriendName(vNodeTreeDown.Item.Text);
vNodeTreeDown.Item.Delete;
Break;
end;
end;
vNodeTreeUp :=tvFrientList.Items.Item[1];//出問題的地方
vNodeTree:=tvFrientList.Items.AddChild(vNodeTreeUp,vUserName+'['+
FriendLst.Strings[message.WParam]+']');
vNodeTree.ImageIndex :=0;
end;

初始樹有兩個結點,是同級的,在設計期就建好的了。
現在問題是(只對初始的第一個結點做描述),當根結點的子結點為空時, vNodeTreeDown :=tvFrientList.Items.Item[0]這句能正確取到第一個根結點,可是當它
的字結點不為空時,取到的就變成是它的第一個子結點了,請問一下,大俠們,這是怎麼回事,給小菜指點一下。
 
顶部