CTreeView CTreectrl 双击不展开或收缩节点的办法。

CTreectrl 双击不展开或收缩节点。

 

近日需要这个功能,网上搜了下,有的说自己截获消息有的说子类化,都比较麻烦,没有找到很好的解决办法,所以一直拖着没解决。

经研究,在OnNMDblclk函数中直接返回,也不能阻止expanding的消息。

 

偶然发现Itemexpanding 可以截获这个消息。只要将其中一个回调的参数

*pResult = TRUE;  //这样就可以了。

不过这样一来所有的展开节点或收缩节点的用户操作都无效了。

 

于是我又想到了OnNMDblclk中的那个同样存在的参数:*pResult

同样在双击响应函数中设置为TRUE,就一切OK了。

 

void CLeftTreeView::OnNMDblclk(NMHDR *pNMHDR, LRESULT *pResult)

{

 *pResult = TRUE;

}

这样双击树形控件节点时候就不再会展开或收缩了。比其他方法简单多了吧。

你可能感兴趣的:(CTreeView CTreectrl 双击不展开或收缩节点的办法。)