mfc ctreectrl遍历所有节点

来源:互联网 发布:微信 mac 2.2 dmg 编辑:程序博客网 时间:2024/06/01 08:42

遍历节点,并取得节点文本:

其中  m_vecTreeNode是CDlgTree成员变量(vector<string>  m_vecTreeNode),将所有节点文本保存。

由于使用多字符集,所以可以

strTemp = cstr.GetBuffer(0);//是正确的
如果使用Unicode,参考<a target=_blank href="http://blog.csdn.net/xuepiaofei1/article/details/47093375" target="_blank">http://blog.csdn.net/xuepiaofei1/article/details/47093375</a>
传入的ht是根节点

void CDlgTree::TravelAll(HTREEITEM ht){string strTemp;CString cstr = m_wndTree.GetItemText(ht);strTemp = cstr.GetBuffer(0);HTREEITEM hCurItem = m_wndTree.GetChildItem(ht);m_vecTreeNode.push_back(strTemp);HTREEITEM hNextItem;while(hCurItem){hNextItem = hCurItem;TravelAll(hNextItem);hCurItem = m_wndTree.GetNextSiblingItem(hCurItem);}}


0 0
原创粉丝点击