ctreectrl的图标 展开和恢复不同,当展开后,将其子项删除清空后,重新刷新ctreetrl时为什么图标还是显示的展开,我该怎么处理才能使当子项清空后图标达到未展开时的状态?

解决方案 »

  1.   

    可是现在我不知道判断后怎么设置啊,SetItemState也不管用。所以没办法了~   能指点一下吗?
      

  2.   

    你有更新该HTREEITEM的图标吗?
      

  3.   


    if(GetItemState(n_item,TVIS_EXPANDED)&TVIS_EXPANDED)
    {//展开
    thePrefs.DrawPosImage(&m_bitmap_down_s,memDC,CPoint(3,rectbigtutem.top));
    }
    else
    {//收起
    thePrefs.DrawPosImage(&m_bitmap_right_s,memDC,CPoint(3,rectbigtutem.top));
    }我是这样判断并改变图标的。但是上述问题还是会发生。