我正在开发一个旧的 MFC 应用程序。应用程序中有一个 TreeView 控件。OnItemExpanding 函数被覆盖。我得到一个 TreeViewItem 的孩子,它被扩展了。如果一个节点第一次展开,它的子节点被填充。如果项目没有子项,则展开图标(+ 号)将从 TreeViewItem 中删除。
现在的问题是我扩展了一个没有子节点的节点。完成一些工作后,子节点被添加到该节点。但是现在我无法获得新添加的孩子,因为缺少展开图标。如何刷新 TreeView 中的特定节点。我创建了一个刷新按钮。这样我就可以在 TreeView 中找到我当前选择的节点,但是接下来要做什么。
这是代码。
void CMyTreeView::OnItemExpanding(CTreeCtrl& tree, NMHDR* pNMHDR, LRESULT* pResult)
{
//This is only called when I click on expand (+ sign)
//some check here which populates children.
}
void CMyTreeView::RefreshNode(CTreeCtrl& tree, HTREEITEM selectedNode)
{
// What should I do here?
}