我这段代码中if语句为什么不能执行呢?为什么hSel总为空呢? CPoint point;
UINT uFlags; //获取当前鼠标所在的屏幕坐标
::GetCursorPos(&point); //将屏幕坐标转换成树控件中的客户坐标
HTREEITEM hSel = m_TreeCtrl.HitTest(point,&uFlags);
//测试鼠标点是否在一个节点项上,若是,选中节点
if((hSel != NULL)&&(TVHT_ONITEM & uFlags))
{
m_TreeCtrl.SelectItem(hSel);
CString strItem = m_TreeCtrl.GetItemText(hSel);
MessageBox(strItem);
}
UINT uFlags; //获取当前鼠标所在的屏幕坐标
::GetCursorPos(&point); //将屏幕坐标转换成树控件中的客户坐标
HTREEITEM hSel = m_TreeCtrl.HitTest(point,&uFlags);
//测试鼠标点是否在一个节点项上,若是,选中节点
if((hSel != NULL)&&(TVHT_ONITEM & uFlags))
{
m_TreeCtrl.SelectItem(hSel);
CString strItem = m_TreeCtrl.GetItemText(hSel);
MessageBox(strItem);
}
加上 ScreenToClient(&cp);
CPoint pt;
GetCursorPos(&pt);
ScreenToClient(&pt); HTREEITEM hItem ;
hItem=HitTest(pt,NULL);