比如我要设一个Item的TVS_HASBUTTONS属性去掉(就是使Tree不能展开目录层次)BOOL SetItemState( 
HTREEITEM hItem, 
UINT nState, 
UINT nStateMask ); 
nState,nStateMask   怎么会有2个?

解决方案 »

  1.   

    nState是你要设置的状态值, nStateMask可以认为是你要设置的属性类别。
      

  2.   

    给个例子吧,比如我要把一个Item的TVS_HASBUTTONS属性去掉,是这样??SetItemState(hItem,TVS_HASBUTTONS,TVS_HASBUTTONS);
      

  3.   

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmfc98/html/_mfc_ctreectrl.3a3a.setitemstate.asp
      

  4.   

    学习查看msdnmsdn有最详细的解释
      

  5.   

    MASK是掩码值
    就是告诉系统
    我只关心这个属性,其他的不管而且好象不能去掉TVS_HASBUTTONS属性~~~~
      

  6.   

    实际设置的内容是:nState & nStateMask
      

  7.   

    TVS_HASBUTTONS是stytle吧
    用ModifyStyle(TVS_HASBUTTONS, 0);试试
      

  8.   

    啊,是的。 是ModifyStyle(TVS_HASBUTTONS, 0);但是试了,它是把整个Tree都变成不能展开目录层次了(ModifyStyle(TVS_HASBUTTONS, 0);)
    我怎么能够让指定的Tree Item不能展开,而不影响其它的Item呢?
      

  9.   

    如果只是想指定的Item不能展开,只要接收点击展开的消息,判断是否相应Item,是则不展开
    如果是想该Item连"+"都没有,那只能重绘了,或者干脆删掉它的子项,适当的时候再插回去