MFC CTreeContrl Disabled(置灰)后怎么让原来选中的项高亮显示?
我现在是选中了一个树形控件的一个节点要对它的属性进行修改,
想让整个树形控件置灰,但是选中的项也变灰灰的,
我要怎么让树形控件又置灰,又把选中的项高亮显示

解决方案 »

  1.   

    CTreeCtrl中有没有属性"Show Selection Always"之类的选项?
      

  2.   

    每次勾选时先用循环把各项都Disabled,然后再把选中项高亮显示,这样不就可以了
      

  3.   

    有一个笨笨的方法就是遍历每个节点,然后在遍历的过程中设置节点状态
    HTREEITEM   遍历(HTREEITEM   ht)   
      {   
      Tree.Expand(ht,TVE_EXPAND);   
                        cout<<Tree.GetItemText(ht);   
                        if(Tree.GetNextItem(ht,TVGN_NEXTVISIBLE))   
                      {   
        
            遍历(Tree.GetNextItem(ht,TVGN_NEXTVISIBLE));   
                      }   
      else   
      return   NULL;   
      }   
      调用   
      遍历(Tree.GetRootItem()); 设置节点状态:SetItemState(hItem,   0,TVIS_SELECTED)