0007-MFC--Tree控件的checkbox实现及取值

1. 新建一个对话框应用

2.向对话框添加一个树控件(Tree Control)

3. 设置属性  has buttons :true,  Has lines: true, Lines at root: true, Edit labels : true

4.给树控件添加一个变量 m_tree,

5.选择Check boxes属性,设置为true,则树就有了checkbox

取数主要用

GetCheck方法

if(m_tree.GetCheck(hitem))
			{
				CString text = m_tree.GetItemText(hitem);
				m_list.AddString(text);
			}

0007-MFC--Tree控件的checkbox实现及取值_第1张图片

如上图我们加了一个按钮来取数,取的数放在一个list控件里,按钮的响应函数如下:

//取数函数
void CDWin11Dlg::checkToTree(HTREEITEM hitem)
{
	if(hitem != NULL)
	{
		hitem = m_tree.GetChildItem(hitem);
		while(hitem)
		{
			if(m_tree.GetCheck(hitem))
			{
				CString text = m_tree.GetItemText(hitem);
				m_list.AddString(text);
			}
			checkToTree(hitem);
			hitem = m_tree.GetNextItem(hitem, TVGN_NEXT);
		}
	}
}
//响应函数
void CDWin11Dlg::OnBnClickedButton1()
{
	HTREEITEM root = m_tree.GetRootItem();
	if(m_tree.GetCheck(root))
	{
		CString text = m_tree.GetItemText(root);
		m_list.AddString(text);
	}
	CDWin11Dlg::checkToTree(root);
}


你可能感兴趣的:(list,tree,null)