Windows 10、德尔福 11。
我只想为带有复选框.Checked
的单个孩子进行设置。TTreeNode
这是 TreeView 中的默认行为。但以下代码还选择所有兄弟节点(与起始节点处于同一级别)。事实上,调用Node.GetNextChild()
和Node.GetNextSibling()
调用似乎没有什么区别。
procedure TMapIntForm.CheckAllNodes(Node: TTreeNode; Check: Boolean);
var
AParent: TTreeNode;
begin
AParent := Node;
while (Node <> nil) do
begin
Node.Checked := Check;
CheckAllNodes(Node.GetFirstChild(), Check);
if Node <> TreeView.Selected then
Node := Node.GetNextChild(Node) // .GetNextSibling()?
else Node := nil;
end;
end;
如何仅检查某个级别上某个节点的子节点而不检查同一级别上的其他节点?