关于CTreeCtrl的问题

PageLee 2010-06-27 11:44:04
我构造了一个CTreeCtrl,并将每个节点利用SetItemData()进行设置,现在我想得到序号为7的节点,并利用SetCheck为其打勾,请问如何实现。请问有没有一个HTREEITEM item=GetItem(7)这样的函数。
//一下是我的一个思路,但速度不快。
HTREEITEM GroupTree::FindTreeItem(HTREEITEM item,int iData)
{
HTREEITEM hFind;
if(item == NULL)
return NULL;

while(item!=NULL)
{
if(m_pTree->GetItemData(item) == 7)
return item;

if(m_pTree->ItemHasChildren(item))
{
item = m_pTree->GetChildItem(item);
hFind = FindTreeItem(item,iData);
if(hFind)
{
return hFind;
}
else
item= m_pTree->GetNextSiblingItem(m_pTree->GetParentItem(item));
}
else
{
item = m_pTree->GetNextSiblingItem(item);
if(item == NULL)
return NULL;
}
}

return item;
}

设置为高亮:

m_pTree->SetCheck(hitem, TRUE);
...全文
63 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2010-07-09
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面界面版关于版主结帖工作的具体办法
rao3281 2010-07-01
  • 打赏
  • 举报
回复
帮顶一下 实在没有精力帮你看了 哈哈
见习学术士 2010-06-28
  • 打赏
  • 举报
回复
插入的时候保存 HTREEITEM 句柄,通过自定义数据结构,比如map<HTREEITEM, int> mapTreeData;

这样就可以通过序号直接获取到 节点句柄了,如:
HTREEITEM hCheckItem = map[7];
m_pTree->SetCheck(hCheckItem );

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧