CtreeCtrl的HitTest函数能够得到与当前鼠标位置相关的项。
该函数可以实现,在带有checkbox的树中,当选中父节点的checkbox, 子节点的checkbox可自动选中。因为可以得到父节点的HTREEITEM ,根据这个属性可以遍历子节点。
void CMyDlg::OnNMClickTree1(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
CPoint pt;
UINT nFlags;
::GetCursorPos(&pt);
::ScreenToClient(m_cTree.m_hWnd, &pt);
HTREEITEM hItem = m_cTree.HitTest(pt,&nFlags);
CString sMsg;
sMsg.Format(_T("%s"), m_cTree.GetItemText(hItem));
AfxMessageBox(sMsg);
*pResult = 0;
}