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

本文介绍了如何在MFC的树控件中实现节点后添加图标的功能,由于MFC本身不提供此功能,需要通过响应NM_CUSTOMDRAW消息并重绘来实现。通过示例代码展示了一个名为CMyTreeCtrl的重绘树控件类的实现过程,以及VS2005下创建基于对话框的MFC程序时,如何设置树控件属性和生成树的方法。
摘要由CSDN通过智能技术生成

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
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值