MFC 树控件如何隐藏相应节点的复选框

来源:互联网 发布:unity3d什么语言最好 编辑:程序博客网 时间:2024/06/05 03:53

有时候并不需要树控件所有的节点都显示复选框,这时候就需要隐藏相应节点的复选框,代码如下:

m_TreeControl是树控件所关联的CTreeCtrl变量,NrootItem是HTREEITEM定义的根节点;

m_TreeControl.SetItemState(NrootItem,INDEXTOSTATEIMAGEMASK(0),TVIS_STATEIMAGEMASK);//隐藏根节点的复选框


若需要在某个类的OnInitDialog()函数里隐藏某个结点的复选框,则需要在上述代码之前加上下面两行代码即可生效,否则无效:

//神奇的两行代码m_TreeControl.ModifyStyle(TVS_CHECKBOXES, 0);m_TreeControl.ModifyStyle(0, TVS_CHECKBOXES);m_TreeControl.SetItemState(NrootItem,INDEXTOSTATEIMAGEMASK(0),TVIS_STATEIMAGEMASK);//隐藏根节点的复选框

下图是我隐藏了一棵树的第一、二和三层节点的复选框的效果图:



阅读全文
1 0
原创粉丝点击