We help IT Professionals succeed at work.

Notification messages for CTreeCtrl

koenig
koenig asked
on
Medium Priority
299 Views
Last Modified: 2013-11-19
How do I get to know if the user right-clicks a item in my treectrl? (MFC 4.2)
Comment
Watch Question

Commented:
Add a handler for NM_RCLICK
thorugh ClassWizard.

You will get a fuction like this:
void CTheView::OnRclickTreectrl(NMHDR* pNMHDR, LRESULT* pResult)
{
      CPoint ptAction;
      GetCursorPos(&ptAction);

      CPoint ptTree=ptAction;
      ScreenToClient(&ptTree);
      CRect theRect;
      m_TreeCtrl.GetWindowRect(theRect);
      CPoint ptNew(theRect.left,theRect.top);
      ScreenToClient(&ptNew);
      ptTree.y-=ptNew.y;

      UINT nFlags;
      HTREEITEM hitemFrom = m_TreeCtrl.HitTest(ptTree, &nFlags);
      if(hitemFrom != NULL)
      {
             //do something
        }
}

I showed you the hit-testing too so you can get the HTREEITEM
of the item that was clicked...

Regards,
MFCGuy

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.