CHwmDataTip - tool and data tips for CFormView and CDialog classes

Download the source

I wanted to display "tool tips" for non-control items, such as edit boxes, static text displays, etc. Unfortunately the VC/MFC CToolTipCtrl class didn't do what I wanted, although it came part of the way. I searched around on the Web, and when I installed VC6 I finally found most of the solution.

Microsoft Systems Journal, April 1998 issue., had an article entitled "Tiptoe Through the ToolTips With Our All-Encompassing ToolTip Programmer's Guide" by Roger Jack. This article contained most of the information I needed. I did some experimenting and then created a wrapper class to ease future implementation

If you only need tool tips - for control objects such as buttons or toolbars - then you can probably use the Microsoft CToolTipCtrl directly and won't need this wrapper.

There are three classes. All three classes are implemented in the CHwmDataTip.cpp and CHwmDataTip.h source files.

CHwmDataTip - is descended from CToolTipCtrl. Although it uses CToolTipCtrl for most of its processing, it also uses the CWnd functions to enable tool tips. With this combination of techniques you can easily implement tool or data tips for non-frame windows, such as CFormView or CDialog. The class is specific for each parent window; you would have different instances (usually embedded as a member variable) for each window where you want to have tips.

CHwmDataTipInfo - contains information about each tip area in the parent. CHwmDataTip contains a list of CHwmDataTipInfo elements. The actual data or tool tip text and active areas are controlled by this structure.

CHwmDataTipCollection - is an optional class that is meant to be "global". By connecting CHwmDataTip to CHwmDataTipCollection you can "globally control" each seperate view's tips from a single object.

The source code is liberally commented. CHwmDataTip.cpp contains directions and source snips for cookbook implementation.

Last updated: October 17, 1998


  • Problem with link

    Posted by on 12/13/2005 10:46pm

    Unable to activate download 'source' - link does not seem to be working at all

  • Tool Tips

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

    Originally posted by: Mike Burgermeister

    Does any know where I could find a complete list of "Tool Tips" in VB 6?


  • ToolTips and Tab Order; HTML Help

    Posted by Legacy on 12/30/1998 12:00am

    Originally posted by: Frank LaPiana

    I've discovered an interesting bug.

    If the tab order for parent window isn't "sequential", then tool/data tips do not always display, even though the tip area is defined. For instance, if you have a tab order of 1 10 12 2 3 7 8, then the tips may not appear for the areas 2 3 7 8. If you re-order the tab sequence to 1 2 3... then the tips work correctly.

    The bug appears to be in the base tool tip control.

    I've also extended CHwmDataTip to automatically handle "HTML Help". This provides a single location for both types of help - tips and full text.

  • Wrong MSJ Issue (4/1997, not 4/1998)

    Posted by Legacy on 12/28/1998 12:00am

    Originally posted by: Uwe Keim

    the article "Tiptoe Through the ToolTips With Our All-Encompassing ToolTip Programmer's Guide" was in the April issue 1997, not 1998!

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

Top White Papers and Webcasts

  • Wednesday, September 24, 2014 8:00 AM - 9:00 AM PDT According to a recent Forrester Research report, many companies are choosing low-code platforms over traditional programming platforms, due to the speed with which low-code apps can be assembled and tested. With customer-facing applications on the rise, traditional programming platforms simply can't keep up with the "short schedules and rapid change cycles" required to develop these applications. Check out this upcoming webinar and join Clay Richardson from …

  • Java developers know that testing code changes can be a huge pain, and waiting for an application to redeploy after a code fix can take an eternity. Wouldn't it be great if you could see your code changes immediately, fine-tune, debug, explore and deploy code without waiting for ages? In this white paper, find out how that's possible with a Java plugin that drastically changes the way you develop, test and run Java applications. Discover the advantages of this plugin, and the changes you can expect to see …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds