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