如何遍历树型控件里的所有节点?
我的控件联系了一个变量m_treeCtrl, 并且这个树只有一个父节点, 剩下的都是这个树的子节点.
例:
父节点: 初三(1)班
子节点: 学生A
子节点: 学生B
子节点: 学生C
子节点: 学生D
子节点: 学生E
子节点: 学生F
子节点: 学生G
子节点: 学生H(比较简单~)
我的控件联系了一个变量m_treeCtrl, 并且这个树只有一个父节点, 剩下的都是这个树的子节点.
例:
父节点: 初三(1)班
子节点: 学生A
子节点: 学生B
子节点: 学生C
子节点: 学生D
子节点: 学生E
子节点: 学生F
子节点: 学生G
子节点: 学生H(比较简单~)
解决方案 »
- win32下如何遍历listbox
- 大家聊(3)又拿分又看笑话-何乐而不为呢?
- 散
- 前辈们请进,小弟遇到点棘手的硬软件问题,希望得到帮助!!(up有分!!)
- 。。。。。。。有没有人用过自己的数据引擎?就是把数据库操作的代码,嵌到自己的程序里。
- VC++中的一个数据库编程问题
- 我想在SDI窗口中添加一个小的类似与CView的东西,不知如何下手
- m_sStats.push_back //push_back 什么作用??????
- C/S与b/s的区别
- 在FileView中External Dependencies文件夹是如何调出?
- 请问如何能让Date time picker控件显示24:0:0
- 飞鸽传书
void xxx::Expand(HTREEITEM hItem)//参数为要遍历的结点
{
while(hItem)
{
HTREEITEM hChildItem = m_tree.GetChildItem(hItem);
m_tree.Expand(hItem,TVE_EXPAND);//这是展开,可以换成你的代码
Expand(hChildItem);
hItem = m_tree.GetNextSiblingItem(hItem);
}
}
HTREEITEM hItem = m_treeCtrl.GetRootItem(); HTREEITEM hChildItem = m_treeCtrl.GetChildItem(hItem);
while (hChildItem != NULL)
{
CString strTreeName = m_treeCtrl.GetItemText(hChildItem );
hChildItem = m_treeCtrl.GetNextItem(hChildItem , TVGN_NEXT);
}
判断左键选择那一层:HTREEITEM PreCheckIndex =NULL;
//消息函数
void CPaperCreateDlg::OnTreeViewCheck()
{ CString strCheck=_T("");
HTREEITEM CheckIndex;
HTREEITEM ParentIndex;
CheckIndex = m_ctrlModelTree.GetSelectedItem();
ParentIndex = m_ctrlModelTree.GetParentItem(CheckIndex);
//点击空白处
if (PreCheckIndex == CheckIndex)
{
return;
}
PreCheckIndex = CheckIndex;
if (ParentIndex==NULL)//点击的是根节点
{
return;
}
//根结点的父结点
ParentIndex = m_ctrlModelTree.GetParentItem(ParentIndex);
if (ParentIndex==NULL)//点击的是第二层节点
{
return;
}
//选中子结点
strEquipType = m_ctrlModelTree.GetItemText(ParentIndex);
//AfxMessageBox(strEquipType);
//得到叶子结点值(名称)
strCheck = m_ctrlModelTree.GetItemText(CheckIndex);//第三层子结点的值(模块型号)
}
分数太少!