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

  • IBM Worklight is a mobile application development platform that lets you extend your business to mobile devices. It is designed to provide an open, comprehensive platform to build, run and manage HTML5, hybrid and native mobile apps.

  • Best-in-Class organizations execute on a strategy that supports the multi-channel nature of customer requests. These leading organizations do not just open up their service infrastructures to accommodate new channels, but also empower their teams to deliver an effective and consistent experience regardless of the channel selected by the customer. This document will highlight the key business capabilities that support a Best-in-Class customer engagement strategy.

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds