需要完成功能:根据用户的选择来安排几画面显示。
遍历:用递归来完成。
状态检验:GetCheck()
1.首先定义递归函数,对每个叶结点进行检验,若被选中,则记录变量自加1.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
int
CMainFrame::TreeTravesal(HTREEITEM hStart)
{
HTREEITEM hChildItem = NULL;
AfxMessageBox(m_wndChannelBrowser.m_wndTree.GetItemText(hStart));
if
(m_wndChannelBrowser.m_wndTree.ItemHasChildren(hStart))
{
hChildItem = m_wndChannelBrowser.m_wndTree.GetChildItem(hStart);
while (hChildItem!=NULL)
{
TreeTravesal(hChildItem); //递归遍历孩子节点
hChildItem =m_wndChannelBrowser.m_wndTree.GetNextItem(hChildItem, TVGN_NEXT);
}
}
else
{
if (m_wndChannelBrowser.m_wndTree.GetCheck(hStart))
{
m_nNumOfCheckedTreeItem++;
}
}
return
m_nNumOfCheckedTreeItem;
}
|
转载于:https://blog.51cto.com/laokaddk/747464