需求是父结点和子节点的高度不一样(因为贴的图高度不一样),SetItemHeight会对所有项起作用,且用在OnPaint中会导致屏幕闪到爆。网上有人说可以用图片把每一项撑大,我觉得那样看起来是大了,但是点击的时候,每一项的Rect还是一样的。请问有什么办法吗?
先谢谢了

解决方案 »

  1.   

    这个好像没有特别好的办法
    你可以考虑自己实现一个TreeCtrl
      

  2.   

    自绘
    在OnPaint消息函数里实现貌似CTreeCtrl没有DrawItem函数可以重载
      

  3.   

    如果是所有的项的话可以SetItemHeight,如果是单项就没有什么好的方法了。自己做吧。
      

  4.   

    SetItemHeight会对所有项起作用,且用在OnPaint中会导致屏幕闪到爆
    ---------------------------------------------------------
    莫非你把SetItemHeight放到OnPaint里去了,为什么不放到初始化函数中呢
      

  5.   

    初始化的时候我用SetItemHeight统一设置了一次,我是想在OnPaint里面具体绘制父结点和子节点的时候,分别再设置一下看看什么效果,结果发现不可行。
    你说的自绘,我只能实现不同结点中的背景色、字体之类的区别,不能分别设置不同结点的高度。
      

  6.   

    嗯。后来觉得自己实现TreeCtrl太麻烦,就拍了一下美工马屁,两下就把她拍妥协了,同意统一高度。
      

  7.   

    谢谢各位大侠,因为设置不同高度有点麻烦,要自己重新写一个TreeCtrl,经过慎重考虑,我放弃鸟~~~
    结贴给分吧。