MFC TreeCtrl 控件(二):显示特性设置 颜色、图标、完全展开


    MFC 的 TreeCtrl 树形控件提供了设置背景色、文本色及线条色的接口,另外,通过递归查找,还可设置指定节点的图标和完整展开节点。在对话框初始化函数中额外添加代码:

	m_userTreeCtrl.SetTextColor(RGB(0,0,220));//设置tree的背景色*/	
	m_userTreeCtrl.SetBkColor(RGB(230,230,230));//设置tree的背景色*/
	// 设置TreeCtrl线条颜色
	m_userTreeCtrl.SetLineColor(RGB(0, 150, 220));
	ExpandAllNode(m_userTreeCtrl.GetRootItem(), m_userTreeCtrl); // 展开所有节点
	// 载入图标,设置指定名称的节点的图标
	HICON hIconOther = theApp.LoadIcon(IDI_VIDEO);
	m_imageList.Add(hIconOther);
	SetTreeNodeIcon(m_userTreeCtrl.GetRootItem(), m_userTreeCtrl, _T("测试用户13"));

     其中的两个函数为:

void COnsitevideoDlg::SetTreeNodeIcon(HTREEITEM hStartItem, CTreeCtrl& treeCtrl, CString csNodeName)
{
	HTREEITEM hChild = treeCtrl.GetChildItem(hStartItem);
	while(hChild)
	{
		if(csNodeName == treeCtrl.GetItemText(hChild))
		{
			treeCtrl.SetItemImage(hChild, 3, 3);
			return ;
		} else  {
			SetTreeNodeIcon(hChild, treeCtrl, csNodeName);
			hChild = treeCtrl.GetNextSiblingItem(hChild);
		}
	}
}


void COnsitevideoDlg::ExpandAllNode(HTREEITEM hItem, CTreeCtrl& treeShow)
{
	HTREEITEM hChild = treeShow.GetChildItem(hItem);
	while(hChild)
	{
		treeShow.Expand(hItem, TVE_EXPAND);
		ExpandAllNode(hChild, treeShow);
		hChild = treeShow.GetNextSiblingItem(hChild);
	}
}
    效果截图如下:

TreeCtrl控件截图

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值