TreeView 如果如此操作,多谢

TreeView 如果如此操作,谢谢
A
|_a1
|_a2
B
|_b1
|_b2
|_b3
C
|_c1
|_c2


如上的TreeView, 现在光标处于b2. 现在想点击Button后,删除B下面的所有子点(b1,b2,b3),再加上d1,d2,变成如下. 怎么做?谢谢前辈。


A
|_a1
|_a2
B
|_d1
|_d2
C
|_c1
|_c2

------解决方案--------------------

void UpdateNode(TTreeView *tv) {
    TTreeNode *nodeCurrent = GetCurrentNode(tv);        // 获取当前节点
    TTreeNode *nodeParent = nodeCurrent->Parent;        // 当前节点的父节点
    nodeParent->DeleteChildren();                       // 删除父节点的所有子节点
    AddNewChildren(nodeParent);                         // 添加新的子节点
}

TTreeNode *GetCurrentNode(TTreeView *tv) {
    return tv->Selected;   // 当前所选中的节点
或者
    return tv->GetNodeAt(x, y);  // 根据鼠标位置获取当前节点
}