MFC项目开发过程中需要获取某个树控件下某个树节点下所有的子节点的文本,添加到某个组合框上,网上的相关代码差不多是遍历整个树控件,所以自己就封装了一个函数,用于获取指定树节点下的所有的子节点的文本然后添加到某个组合框中,其中获取的文本被压入CString类型的容器保存。
/*-----GetHTREEITEMallName(CTreeCtrl *ptheTree,HTREEITEM hTreeItem,vector<CString> &ZhyName)-----------
函数功能:获取树控件指定树节点的所有的子节点的文本
函数参数:ptheTree树控件指针
hTreeItem树节点
ZhyName存储字节点名字的CString类型的容器
-------------------------------------------------------------------------------------------------------*/
void CGriding::GetHTREEITEMallName(CTreeCtrl *ptheTree,HTREEITEM hTreeItem,vector<CString> &ZhyName)
{
ZhyName.clear();//清空存储节点的名字
HTREEITEM hTreeItemChlid=ptheTree->GetChildItem(hTreeItem);//得到指定树节点的子节点
while (hTreeItemChlid!=NULL)
{
CString temp=ptheTree->GetItemText(hTreeItemChlid);//获取节点上的文本
ZhyName.push_back(temp);//压入容器
hTreeItemChlid=ptheTree->GetNextSiblingItem(hTreeItemChlid);//得到子节点的兄弟节点
}
}
如果您觉得这篇博文有用,请访问我的个人站:http://www.stubbornhuang.com,更多博文干货等着您。