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

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read