首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

在TreeCtrl控件中,加入了checkbox的风格。小弟我要如何取得控件中checkbox的状态

2012-03-20 
在TreeCtrl控件中,加入了checkbox的风格。我要怎么取得控件中checkbox的状态?在TreeCtrl控件中,加入了check

在TreeCtrl控件中,加入了checkbox的风格。我要怎么取得控件中checkbox的状态?
在TreeCtrl控件中,加入了checkbox的风格。我要怎么取得控件中checkbox的状态?

[解决办法]

C/C++ code
//获取指定节点(及子节点)所有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吧

热点排行