1. 程式人生 > >VS2010-MFC獲取某個樹控制元件某個樹節點下所有子節點的文字

VS2010-MFC獲取某個樹控制元件某個樹節點下所有子節點的文字

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);//得到子節點的兄弟節點
	}
}