about TTreeNode!!(10分)

  • 主题发起人 主题发起人 kouchun
  • 开始时间 开始时间
K

kouchun

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TfrmMain.Init;
var
TN1,TN2:TTreeNode;
i:integer;
begin
TV1.Items.Clear;
tn1:=tv1.Items.Add(nil,'hello');<--------??
tn1.ImageIndex:=1;<--------??

with dm1 do
begin
for i := 0 to sltRooms.count - 1 do
begin
tn2:=tv1.Items.AddChild(tn1,sltRooms.Names);<--------??
tn2.ImageIndex:=1;<--------??
end;
end;

tv1.FullExpand;<--------??
end;

when tn1,tn2,can make tv1 chagne
 
将问题描述清楚一些!
不知道你的意思是什么?
解释?还是有问题?不懂?如果解释的话,依次如下:
1.添加根结点 显示的名字是'hello'
2.将根结点的image设置盛IMAGELIST的第二个图片
3.添加TN1下的字节点,名字依次是sltRooms.Names);
4.同2
5.将此树完全展开
 
tn1:=tv1.Items.Add(nil,'hello');
這句是不是說明了 tn1以繼承了tv1 ??
tn1.ImageIndex:=1;
為什麼 tn1 這樣就可以 改變tv1的ImageIndex ??
tv1.FullExpand
而不是 tn1.FullExpand ???
 
你这里应该高明白一个概念!
tv1是TREEVIEW控件,
tn1是一个节点,这里没有继承的存在!
tn1.imageindex:=1只是说明将这个节点的IMAGE设置成为IMAGEINDEX
,而不同的TREENODE可以对应不同的IMAGEINDEX,

tv1.FullExpand
而不是 tn1.FullExpand ???
TV1.fullexpand是将全部的节点展开,(不止一个根结点)
TN1.FULLEXPAND只是将TN1下的节点全部展开

 
tv1是从Tcustomtreeview继承的,tn1是从Tcustomitems继承的
两者有共同的祖先:persistent
 
我不明白的是為什麼要先把tn1:=tv1.Items.Add(nil,'hello'),
而不直接用tv1.Items.Add(nil,'hello'),
如果tn1和tv1沒有關係,那為什麼tn1可以改變tv1的imageindex:=1...
我想知的是tn1和tv1有什麼關係.為什麼tn1可以改變tv1的imageindex:=1,
 
多人接受答案了。
 
后退
顶部