Hola gente.Despues de darle vueltas al final ya se com se hace por si a alguien le interesa.
En un TreeView no se pueden añadir checbox ni radiobuttoms pero lo que si te permite es a cada nodo o a cada hijo asignarle un imagen.Aprovecharemos entonces a poner a cada hijo(en mi caso) una imagen inicial de un checkbox desmarcado.
Para ello colocaremos un imagelist en donde tendremos las imagenes de los checbox marcados y desmarcados.Asi en el editor del treeview( o en tiempo de ejecucion) elegiremos el indice (ImageIndex) del checbox desmarcado.
Finalmente lo que nos queda es que cada vez que pinchemos en un nodo que sea hijo, si está con la imagen de desmarcado cambiaremos su imagen por la de marcado y viceversa.Eso se hace en el evento OnMouseDown y de la siguiente manera:
void __fastcall TForm1::TreeView1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
//Declaramos un puntero de nodos
TTreeNode * TreeNode;
//Obtenemos el nodo que estamos pinchando
TreeNode = TreeView1->GetNodeAt(X, Y);
//Si estamos pinchando en algun nodo
if (TreeNode != NULL)
{
//Si el nodo no tiene hijos es un hijo (esto para mi programa es asi)
if (!TreeNode->HasChildren)
{
//Cambiamos las imagenes dependiendo de cual este activa
switch (TreeNode->ImageIndex)
{
case 1:
TreeNode->ImageIndex=2;
TreeNode->SelectedIndex =2;
break;
case 2:
TreeNode->ImageIndex=1;
TreeNode->SelectedIndex =1;
break;
}
}
}
}
Pues ahi lo de jo por si a alguien le interesa por ke a mi me amargo un poco y la verdad es ke al final es bastante fácil.Ciaooooooooo