Handling right-click on the CListCtrl header control

Environment: VC6 

An alternative to Zafir Andum's approach on determining right click on the header control is to use the HDM_HITTEST message in order to determine  on which header item the user right clicked. This saves you the "for" loop for the determination of the column.

Here is an example:

BOOL CMyListtCtrl::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
 if( wParam==0 && ((NMHDR*)lParam)->code ==NM_RCLICK)
 {
  POINT Point;
  GetCursorPos (&Point);
  ScreenToClient(&Point);
  HDHITTESTINFO HitTest;

  HitTest.pt.x = Point.x;
  HitTest.pt.y = Point.y;
  // Send the Hit Test Message

  GetHeaderCtrl()->SendMessage(HDM_HITTEST,0,(LPARAM)&HitTest);
 }
}

The HDHITTESTINFO structure holds the column index in its iItem member. 

Finally on the part of my colleagues and me, we would like to thank codeguru for the immense help it has given us the last year.



Comments

  • Wide controls

    Posted by czesiek120 on 01/24/2008 01:53am

    Coordinates need to be recalculated using HeaderCtrl not ListCtrl. Therefore change ScreenToClient(&Point); to GetHeaderCtrl()->ScreenToClient(&Point);

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Is your sales and operations planning helping or hurting your bottom line? Here are 5 useful tips from the experts at Quintiq to guide you to a better S&OP strategy.

  • Live Event Date: August 13, 2014 @ 1:00 p.m. ET / 10:00 a.m. PT If you are developing applications, you'll want to join us to learn how applications are changing as a result of gesture recognition. This technology will change how you and your users interact - not simply with your devices, but with the world around you. Your devices will be able to see and hear what your users are doing. Are your applications ready for this? Join us to learn about Intel® RealSense™ Technology, including never been …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds