MFC三态树控件自绘

前言

    在项目中想实现一个三态树,在网上找了一些例子,主要参考了《三态选择树实现终结者 》,其中作者讲解清晰,非常容易理解。其具体实现的思想是以Windows标准的CTreeCtrl类为基类派生一个类CMutiTreeCtrl,我们可以直接使用,这里主要是对使用的过程做下笔记。

CMutiTreeCtrl功能

    如上图所示,当全部子节点选中的情况下,当前节点才被选中(如图示[荆门市]节点),当子节点部分选中时,当前节点处于第三态(如图示[湖北省]节点)当全部子节点未选中时,当前节点处于未选中的状态(如图示[江苏省]节点)。

资源

    其中用到的两个文件

MutiTreeCtrl.h

MutiTreeCtrl.cpp

实现步骤

图标绘制


    在项目中为了和其中用到的其他控件中的树控件风格一致,需要进行自绘图标,如下图所示,它基本使用的是原生态的图标

    1. 打开Photoshop软件,新建一个52×13像素的文档,预计其中包含4个图标

   

注:一般情况下节点图标采用16×16,三态选择图标采用13×13大小比较合适。

   三态选择图标对应: 0->无选择钮 1->没有选择 2->部分选择 3->全部选择

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值