Lo logré y al final resultó mucho más sencillo de lo que pensaba.
He utilizado este código en el evento
OnInitNode:
Código:
void __fastcall TfEleccion::MesasInitNode(TBaseVirtualTree *Sender, PVirtualNode ParentNode, PVirtualNode Node, TVirtualNodeInitStates &InitialStates)
{
PTreeEle DatEle = (PTreeEle)Mesas->GetNodeData(Node);
if (DatEle->CodPar != 0)
Node->CheckType = ctNone;
else
{
Node->CheckType = ctCheckBox;
Sender->CheckType[Node] = ctTriStateCheckBox;
Sender->CheckState[Node] = csUncheckedNormal;
}
}
He utilizado, en este caso, uno de los campos de la estructura de datos que sólo debe tener valor en ese último nodo. No sé si será la forma más elegante, pero funciona.