MFC树控件节点后加图标实现

MFC树控件未提供节点后加图标的方法,需要自己重绘来实现。

主要方法是,响应NM_CUSTOMDRAW消息,在每个节点后添加自己要展示的图标。

关于NM_CUSTOMDRAW消息的说明,见http://msdn.microsoft.com/en-us/library/ms833744.aspx

显示效果,如下图。



1、实现源码

重绘树控件类CMyTreeCtrl。

MyTreeCtrl.h

#pragma once

//节点信息
struct NodeInfo
{
    NodeInfo()
        : strName(_T(""))
        , nType(0)
        , bImage(false)
    {

    }

    CString strName;//节点名称
    int nType;//节点类型
    bool bImage;//是否有图标
};

class CMyTreeCtrl : public CTreeCtrl
{
public:
    CMyTreeCtrl(void);
    virtual ~CMyTreeCtrl(void);

protected:
    //{
  {AFX_MSG(CMutiTreeCtrl)
    DECLARE_MESSAGE_MAP()
    afx_msg void OnCustomDraw(NMHDR *pNMHDR, LRES
  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值