我在FORMVIEW里放了一个CTREECTRL,我自己定义了一个消息ON_MESSAGE(WM_RBUTTONDOWN, OnRButtonClk),
LRESULT CSTreeCtrl::OnRButtonClk(WPARAM wParam, LPARAM lParam)
{
TVHITTESTINFO HitTestInfo;
short xPos = LOWORD(lParam);
short yPos = HIWORD(lParam);
HitTestInfo.pt.x = xPos;
HitTestInfo.pt.y = yPos;
HitTest(&HitTestInfo);
HTREEITEM htreeitem = HitTestInfo.hItem; m_treeitem = htreeitem;
return DefWindowProc(WM_RBUTTONDOWN, wParam, lParam);
}
然后我在FORMVIEW拦截消息BOOL CDengoAgentMainView::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{ LPNMHDR pNmhdr = (LPNMHDR)lParam; switch (pNmhdr->code)
{
case NM_CLICK: OnClickTreeMaininfo(pNmhdr, pResult);
break;
case NM_RCLICK: OnRclickTreeMaininfo(pNmhdr, pResult);
break;
}
return CFormView::OnNotify(wParam, lParam, pResult);
}
可是为什么我按下鼠标右健后,不能选中TREECTRL中的某一项
LRESULT CSTreeCtrl::OnRButtonClk(WPARAM wParam, LPARAM lParam)
{
TVHITTESTINFO HitTestInfo;
short xPos = LOWORD(lParam);
short yPos = HIWORD(lParam);
HitTestInfo.pt.x = xPos;
HitTestInfo.pt.y = yPos;
HitTest(&HitTestInfo);
HTREEITEM htreeitem = HitTestInfo.hItem; m_treeitem = htreeitem;
return DefWindowProc(WM_RBUTTONDOWN, wParam, lParam);
}
然后我在FORMVIEW拦截消息BOOL CDengoAgentMainView::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{ LPNMHDR pNmhdr = (LPNMHDR)lParam; switch (pNmhdr->code)
{
case NM_CLICK: OnClickTreeMaininfo(pNmhdr, pResult);
break;
case NM_RCLICK: OnRclickTreeMaininfo(pNmhdr, pResult);
break;
}
return CFormView::OnNotify(wParam, lParam, pResult);
}
可是为什么我按下鼠标右健后,不能选中TREECTRL中的某一项
等VC替你做好后,在看看VC是怎样做的,你又是怎样做的