怎么知道treeview还有没有子键
怎么知道treeview还有没有子键 问题点数:20、回复次数:16Top
1 楼netlib(河外孤星)回复于 2002-06-01 12:40:52 得分 0
treeview1.items[0].count;Top
2 楼netlib(河外孤星)回复于 2002-06-01 12:41:30 得分 0
Ttreenode有属性Count的,里面放的是数量,如果没有,则是0Top
3 楼xiao128(天使也疯狂)回复于 2002-06-01 12:42:23 得分 0
那items[0]的值怎么得到Top
4 楼cg1120(代码最优化-§惟坚韧者始能遂其志§)回复于 2002-06-01 12:42:49 得分 0
遍历子节点Top
5 楼xiao128(天使也疯狂)回复于 2002-06-01 12:44:02 得分 0
说详细点好吗Top
6 楼cg1120(代码最优化-§惟坚韧者始能遂其志§)回复于 2002-06-01 12:49:21 得分 0
procedure TMDIChild.Idelnode(tpnode:TTreeNode);
var
i : Integer;
// str:string;
begin
For i := 0 To tpnode.count-1 do begin //递归调用遍历所选结点的所有子结点
// str:=str+tpnode.Item[i].Text;
// showmessage(str);
end;
end;
Top
7 楼xiao128(天使也疯狂)回复于 2002-06-01 12:51:21 得分 0
我是想在使用时假如下面没子健就把它作为一个字段处理,如果有子键就把它当作一个类别处理Top
8 楼cg1120(代码最优化-§惟坚韧者始能遂其志§)回复于 2002-06-01 12:51:33 得分 0
如果子结点下还有子节点可以用以下代码:
procedure TMDIChild.Idelnode(tpnode:TTreeNode);
var
i : Integer;
// str:string;
begin
For i := 0 To tpnode.count-1 do begin //递归调用遍历所选结点的所有子结点
// str:=str+tpnode.Item[i].Text;
// showmessage(str);
end;
if tpnode.Item[i].getFirstChild <> nil then Idelnode(tpnode.item[i]);
end;
Top
9 楼xiao128(天使也疯狂)回复于 2002-06-01 12:53:22 得分 0
怎样得到你所选的这个键的index值Top
10 楼cg1120(代码最优化-§惟坚韧者始能遂其志§)回复于 2002-06-01 12:53:22 得分 0
你可以在节点的NODE.DATA属性里存任何东西Top
11 楼cg1120(代码最优化-§惟坚韧者始能遂其志§)回复于 2002-06-01 12:55:29 得分 12
老兄啊,你是不是没用过TREEVIEW?
得到当前所选节点:
gNode:=RzTreeView1.Selected;
//if then gNode.ImageIndex:=2;
if gNode<>nil then
begin
你要做的事
......Top
12 楼Clusting()回复于 2002-06-01 12:56:18 得分 8
用TTreeNode的HasChildren 属性Top
13 楼xiao128(天使也疯狂)回复于 2002-06-01 12:56:52 得分 0
那好办啊,你说的方法太复杂,用treeview1.items[i].count;可以吗
Top
14 楼cg1120(代码最优化-§惟坚韧者始能遂其志§)回复于 2002-06-01 12:57:00 得分 0
gNode:treenodeTop
15 楼xiao128(天使也疯狂)回复于 2002-06-01 13:06:02 得分 0
我知道了用treeview1.selected.haschildren 可以确定Top
16 楼cg1120(代码最优化-§惟坚韧者始能遂其志§)回复于 2002-06-01 13:13:09 得分 0
其实你可以把Idelnode函数放在Onmousedown事件里
再把Idelnode做成一个反回TRUE和FALSE的函数就搞定Top




