I created this simple demo. But guess what, it works with both XE8 and Seattle. 🙂 I will investigate why my project does not.
Code:
var
i: Integer;
LNode: PVirtualNode;
begin
VirtualDrawTree.BeginUpdate;
for i := 0 to 5 do
begin
LNode := VirtualDrawTree.AddChild(nil);
LNode.CheckType := ctCheckBox;
case i of
0: LNode.CheckState := csUncheckedNormal; // unchecked and not pressed
1: LNode.CheckState := csUncheckedPressed; // unchecked and pressed
2: LNode.CheckState := csCheckedNormal; // checked and not pressed
3: LNode.CheckState := csCheckedPressed; // checked and pressed
4: LNode.CheckState := csMixedNormal; // 3-state check box and not pressed
5: LNode.CheckState := csMixedPressed;
end;
VirtualDrawTree.AddChild(LNode); // child
end;
VirtualDrawTree.EndUpdate;
end;