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: October 23, 2014 Despite the current "virtualize everything" mentality, there are advantages to utilizing physical hardware for certain tasks. This is especially true for backups. In many cases, it is clearly in an organization's best interest to make use of physical, purpose-built backup appliances rather than relying on virtual backup software (VBA - Virtual Backup Appliances). Join us for this webcast to learn why physical appliances are preferable to virtual backup appliances, …

  • 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