如何求TreeView某一层的总结点数?
解决方案 »
- 求<<Delphi串口通信技术与工程实践>>电子书
- 熟悉sql server 存儲過程的進來看一下~
- 怎样按回车键转移焦点到下一控件?
- edit输入问题.马上结账!
- 关于DELPHI自带的报表控件的问题
- 怎么让一个窗体随着另一个窗体的移动而移动?
- 第三张贴子(合计有150分):TClientDataSet.commandtext(ADO Express 升级包)
- 怎么搞的,.exe突然变大。。。
- 关于table的两个问题,很急,没时间多想,请解答
- 有关serversocket
- Ctrl+Up,Ctrl+Down,Ctrl+Left,Ctrl+Right已被系统作为切换焦点使用,我如何....
- 保存字体设置问题!
用TreeNode.Parent.Count就可以求得当前结点的所在层的个数。
TreeView1.???????
再请教!
Node, SelectedNode: TTreeNode;
nCount: Cardinal;
begin
SelectedNode := TreeView1.Selected;
Node := SelectedNode;
nCount := 0;
while True do
begin
if Node = SelectedNode.getNextSibling then
Break
else
begin
Node := Node.GetNext;
Inc(nCount);
end;//if
end;//while
end;这段程序可以求出某一层的总结点数,包括子节点的子节点数。
TreeNode.Count 只能求出当前结点的下一层的结点数,而不能展开子节点的子节点。
并且我是在第二个Form中调用Form1.TreeView1要求求出其第一层的结点总数,没有TotalItems/TotalTreeNode/GetLastNode这样的Function吗?
var i: Integer;
begin
Result := 0;
for i := 0 to tree.Items.Count - 1 do
if tree.Items[i].Level = level then
Inc(Result);
end;GetNodesCount(TreeView1, 0); // 0为第一层,1为第二层,...