2010.6.30

1、CTreeCtrl用法

    当右键选中一个节点时,并不是真正的选择了该节点,和左键选择一个节点是不同的。取消后你会发现并没有选中。那么如何让右键选中,和左键选中一样的效果呢?

   可以设置右键消息响应事件,

 

 CPoint pt;
 GetCursorPos(&pt);
 CPoint pointInTree=pt;
 m_deviceTree.ScreenToClient(&pt); //将屏幕坐标转化为客户区坐标

 UINT flag = TVHT_ONITEM;
 HTREEITEM item = m_deviceTree.HitTest(pt, &flag);
 m_deviceTree.SelectItem(item);//设置右键选中节点  通过该设置,会达到右键和左键一样的选中效果

其中HitTest通过判断鼠标坐标位置,得到节点的句柄 HTREEITEM item,然后就可以通过该句柄,设置Tree选中的节点了。

 

你可能感兴趣的:(2010.6.30)