VC中使用CTreeCtrl 一次展开所有的节点
VC中使用CTreeCtrl 一次展开所有的节点
CTreeCtrlm_tree;
void CTreetestDlg::Onexpandtree() //展开所有节点
{
// TODO: Add your command handler code here
m_tree.Expand(m_tree.GetRootItem(),TVE_EXPAND);
m_handleTreeItem = m_tree.GetRootItem();
while(m_handleTreeItem)
{
m_handleTreeItem = m_tree.GetChildItem(m_handleTreeItem);
m_tree.Expand(m_handleTreeItem, TVE_EXPAND);
}
}
上面是我的代码 他只能一次展开第一个子节点的所有第一个子项
如何修改 能将其他的兄弟节点的所有节点全部展开啊
望高手指点 最好给出代码 谢谢
[解决办法]
哎 为啥不能编辑
- C/C++ code
void CTreetestDlg::Onexpandtree() //展开所有节点 { // TODO: Add your command handler code here MyExpandTree(m_tree.GetRootItem()); }void MyExpandTree(HTREEITEM hTreeItem){ if(!m_tree.ItemHasChildren(hTreeItem)) { return; } HTREEITEM hNextItem = m_DynTree.GetChildItem(hTreeItem); while (hNextItem != NULL) { MyExpandTree(hNextItem); hNextItem = m_tree.GetNextItem(hChildItem, TVGN_NEXT); } m_tree.Expand(hTreeItem,TVE_EXPAND);}