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

  • Live Event Date: November 6, 2014 @ 2:00 p.m. ET / 11:00 a.m. PT Are you wanting to target two or more platforms such as iOS, Android, and/or Windows? You are not alone. 90% of enterprises today are targeting two or more platforms. Attend this eSeminar to discover how mobile app developers can rely on one IDE to create applications across platforms and approaches (web, native, and/or hybrid), saving time, money, and effort and introducing apps to market faster. You'll learn the trade-offs for gaining long …

  • Live Event Date: October 29, 2014 @ 11:00 a.m. ET / 8:00 a.m. PT Are you interested in building a cognitive application using the power of IBM Watson? Need a platform that provides speed and ease for rapidly deploying this application? Join Chris Madison, Watson Solution Architect, as he walks through the process of building a Watson powered application on IBM Bluemix. Chris will talk about the new Watson Services just released on IBM bluemix, but more importantly he will do a step by step cognitive …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds