CTreeCtrl。添加三态选择图片和节点前图标的方法

本文介绍了如何在MFC中利用CTreeCtrl控件添加三态选择图片和节点前图标。首先创建图像列表,并设置未选中和选中状态的图像索引。然后通过TVINSERTSTRUCT结构插入根节点,并使用HTREEITEM进行后续节点的绘制。此外,还展示了如何初始化节点图标列表,加载图标资源,并通过插入节点时指定图标索引来改变节点图标。
摘要由CSDN通过智能技术生成

    //
    // 初始化图像列表
    m_cImageList.Create(IDB_BITMAP1, AUTOTREE_UINT_THIRTEEN, AUTOTREE_UINT_ONE, ILC_COLOR4);
    m_cTreeCtrl.SetImageList(&m_cImageList, TVSIL_STATE);

    改变选择状态
    TVINSERTSTRUCT tvInsert;
    tvInsert.hParent = NULL;
    tvInsert.hInsertAfter = NULL;
    tvInsert.item.mask = TVIF_TEXT;
    tvInsert.item.iImage = 1; //设置未选中图像索引号  1是未选状态  2 就是半选状态
    tvInsert.item.iSelectedImage = 3;//设置选中时图像引号 3是选择状态
    tvInsert.item.pszText = m_vecData.empty() ? AUTOTREE_ROOTNODE_ERRSTR : AUTOTREE_ROOTNODE_STRING;
    HTREEITEM hRoot = m_cTreeCtrl.InsertItem(&tvInsert);

    这个做到这就完了, 其他的插入节点会自动绘制

 

    //
    // 初始化节点图标列表
    m_cIIconList.Create(16, 16, ILC_COLOR32 | ILC_MASK, 7, 7);//16*16的图标
    HICON icon[2];
    icon[0] = AfxGetApp()->LoadIcon(IDI_ICON4);
    m_cIIconList.Add(icon[0]);
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值