在虚拟树中设置节点状态
我创建了一个具有多个节点的虚拟树,并且我想禁用它们中的一些。 我已经看到有一个节点的States
属性。 这是TVirtualNodeStates
类型的一个属性,所以我检查了我可以设置的状态,显然TVirtualNodeStates
是一set of TVirtualNodeState
。
TVirtualNodeState
可以设置为vsDisabled
所以我想这是我需要禁用我的虚拟树中的节点。
但我不能那样做。 这是我真正尝试过的:
lNode := myTree.addChild(nil);
lNode.States := vsDisabled;
它给了我错误
TVirtualNodeStates
和TVirtualNodeState
之间的不兼容类型
那么我怎样才能禁用节点呢?
你可以写Node.States := [vsDisabled];
,使您的代码可编译。 但这不是你应该做的。 有节点状态,你必须保持不动,并提到的声明,你会扔掉它们,只设置vsDisabled
之一。 你想要写:
Include(Node.States, vsDisabled);
要么:
Node.States := Node.States + [vsDisabled];
另一个选项(应该是首选)是通过IsDisabled
属性设置状态:
VirtualTree.IsDisabled[Node] := True;
链接地址: http://www.djcxy.com/p/35021.html