16,551
社区成员
发帖
与我相关
我的任务
分享
void CMyTreeCtrl::OnLButtonDown(UINT nFlags, CPoint point)
{
UINT l_uFlags;
HTREEITEM hItem =this->HitTest(point, &l_uFlags);
HTREEITEM hOldItem=this->GetSelectedItem();
if(hItem)
{//090917zjj,如果当前点中某个节点,那么需要经过判断选择操作,1.点击了当前选中节点,执行打开/收缩操作;2.点击了当前未选中节点,执行选中、打开操作。
//SelectItem(hItem);
if (hItem==hOldItem)
{//090917zjj,点击了当前选中的节点,执行操作1
this->Expand(hItem,TVE_TOGGLE);
}
else
{//090917zjj,点击了当前未选中的节点,执行操作2
UINT uState=this->GetItemState(hOldItem,TVIS_EXPANDED );
this->SelectItem(hItem);
this->SetItemState(hOldItem,uState ,TVIS_EXPANDED );
}
}
}