在TreeCtrl控件中,加入了checkbox的风格。我要怎么取得控件中checkbox的状态?
在TreeCtrl控件中,加入了checkbox的风格。我要怎么取得控件中checkbox的状态?
[解决办法]
//获取指定节点(及子节点)所有Check状态信息void GetAllCheckData(CTreeCtrl *pTree, BOOL *pOutBuff, HTREEITEM hItem){ pOutBuff[m_Para.CheckPos++] = pTree->GetCheck(hItem); //遍历子节点 HTREEITEM hSon = pTree->GetNextItem(hItem, TVGN_CHILD); while(NULL != hSon) { GetAllCheckData(pTree, pOutBuff, hSon); hSon = pTree->GetNextItem(hSon, TVGN_NEXT); }}
[解决办法]
BOOL CTreeCtrl::GetCheck(HTREEITEM hItem) const;
不过该函数在鼠标点击函数执行结束后,才能得到正确的check状态。
[解决办法]
CTreeCtrl m_list;
HTREEITEM hItem=m_list.GetSelectedItem();//获取当前选中的TreeItem
TreeCtrl是棵树,
用GetRootItem()获取树根,再用下面的接口,反复循环,就可以访问到需要的节点:
GetNextItem(, );//用法上面有
...
还有更多接口,查MSDN吧