Tooltips for Menu Items and Popup Menu Items

Environment: VC6 SP4, NT4 SP3 and above

This is a simple and the best way to add tooltips to menu items. All you have to do is include the header file, call Create, and hook the WM_MENUSELECT message. My helper class will take care of everything else from there.

Call this Create function in the OnInitDialog or OnCreate functions of your main window.

myMenuToolTip.Create(m_hWnd, _T("Sample Menu Text"),
              AfxGetResourceHandle()
  ,TTS_NOPREFIX | TTS_BALLOON       // play with this flags to get
                                    // your own style of toolips
  , _T("My Best Tool Tip Title")    // title for the tooltips
  );

When your window receives WM_MENUSELECT, call the OnMenuSelect function to notify my helper class.

myMenuToolTip.OnMenuSelect(nItemID, nFlags, hSubMenu);

Downloads

Download demo/source project - 19 Kb
Open Header file - 5 Kb


Comments

  • Shadow

    Posted by Legacy on 11/26/2003 12:00am

    Originally posted by: Anonymous

    Is there a flag for adding shadow? I know only 2000+ support it.

    Reply
  • little bug

    Posted by Legacy on 11/25/2003 12:00am

    Originally posted by: jink

    void SetToolTipPosition(HMENU hMenu, UINT nItemID)
    
    {
    ...
    ::GetMenuItemRect(m_hParent, hMenu, nItem, &rt);
    ...
    }

    ----->

    void SetToolTipPosition(HMENU hMenu, UINT nItemID)
    {
    ...
    ::GetMenuItemRect(NULL, hMenu, nItem, &rt);
    ...
    }

    better.:)

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

Top White Papers and Webcasts

  • On-demand Event Event Date: September 10, 2014 Modern mobile applications connect systems-of-engagement (mobile apps) with systems-of-record (traditional IT) to deliver new and innovative business value. But the lifecycle for development of mobile apps is also new and different. Emerging trends in mobile development call for faster delivery of incremental features, coupled with feedback from the users of the app "in the wild." This loop of continuous delivery and continuous feedback is how the best mobile …

  • QA teams don't have time to test everything yet they can't afford to ship buggy code. Learn how Coverity can help organizations shrink their testing cycles and reduce regression risk by focusing their manual and automated testing based on the impact of change.

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds