Here’s a little trick I use to get tooltips into a dialog quickly. I usually put this code
into the OnInitDialog. It allows me to easily add tooltips to any dialog quickly.
Add a member to the CDialog or CWnd derived class in the header like:
CToolTipCtrl CTTDialog :: m_ToolTip;
In the OnInitDialog or OnInitialUpdate, add:
m_ToolTip.Create (this);
m_ToolTip.Activate (TRUE);
CWnd* pWnd = GetWindow (GW_CHILD);
while (pWnd)
{
int nID = pWnd->GetDlgCtrlID ();
if (nID != -1)
{
m_ToolTip.AddTool (pWnd, pWnd->GetDlgCtrlID ());
}
pWnd = pWnd->GetWindow (GW_HWNDNEXT);
}
To add a tooltip to a control, just add a string resource using the same ID as the control to get
the tip. If I wanted the OK button to have a tip, I would add a string resource for IDOK.
Also do not forget to put the following code to you dialog class:
BOOL CTTDialog :: PreTranslateMessage(MSG* pMsg)
{
if (m_hWnd)
{
m_ToolTip.RelayEvent (pMsg);
return CDialog::PreTranslateMessage(pMsg);
}
return (FALSE);
}
That’s it.
Last updated: 18 May 1998