An extended tooltip implementation based on the CToolTipCtrl Class. A tooltip based on the CMFCToolTipCtrl class can display an icon, a label, and a description. You can customize its visual appearance by using a gradient fill, custom text and border colors, bold text, rounded corners, or a balloon style.
class CMFCToolTipCtrl : public CToolTipCtrl
Members
Public Constructors
| Name | Description | 
|---|---|
| CMFCToolTipCtrl::CMFCToolTipCtrl | Default constructor. | 
Public Methods
| Name | Description | 
|---|---|
| Returns the size of an icon in a tooltip. | |
| Returns the display settings of a tooltip. | |
| Draws the border of a tooltip. | |
| 
 | |
| Displays an icon in a tooltip. | |
| Draws the label of a tooltip, or calculates the size of the label. | |
| Draws the separator between the label and the description in a tooltip. | |
| Fills the tooltip background. | |
| Sets the description to be displayed by the tooltip. | |
| 
 | |
| 
 | |
| 
 | |
| Specifies the visual appearance of a tooltip by using a CMFCToolTipInfo object. | 
Remarks
Use CMFCToolTipCtrl, CMFCToolTipInfo, and CTooltipManager Class objects together to implement customized tooltips in your application.
For example, to use balloon-style tooltips, follow these steps:
1. Use the CWinAppEx Class method to initialize the tooltip manager in your application.
2. Create a CMFCToolTipInfo structure to specify the visual style that you want:
CMFCToolTipInfo params;
 params.m_bBoldLabel = FALSE;
 params.m_bDrawDescription = FALSE;
 params.m_bDrawIcon = FALSE;
 params.m_bRoundedCorners = TRUE;
 params.m_bDrawSeparator = FALSE;
 if (m_bCustomColors)
 {
  params.m_clrFill = RGB (255, 255, 255);
  params.m_clrFillGradient = RGB (228, 228, 240);
  params.m_clrText = RGB (61, 83, 80);
  params.m_clrBorder = RGB (144, 149, 168);
 }
3. Use the CTooltipManager::SetTooltipParams method to set the visual style for all tooltips in the application by using the styles defined in the CMFCToolTipInfo object:
theApp.GetTooltipManager ()->SetTooltipParams (AFX_TOOLTIP_TYPE_ALL,
    RUNTIME_CLASS (CMFCToolTipCtrl), ¶ms);
You can also derive a new class from CMFCToolTipCtrl to control tooltip behavior and rendering. To specify a new tooltip control class, use the CTooltipManager::SetTooltipParams method:
myApp.GetTooltipManager ()->SetTooltipParams (AFX_TOOLTIP_TYPE_ALL,
    RUNTIME_CLASS (CMyToolTipCtrl))
To restore the default tooltip control class and reset the tooltip appearance to its default state, specify NULL in the runtime class and tooltip info parameters of SetTooltipParams:
theApp.GetTooltipManager ()->SetTooltipParams (AFX_TOOLTIP_TYPE_ALL,
    NULL, NULL);
Example
The following example demonstrates how to construct a CMFCToolTipCtrl object, set the description that the tooltip displays, and set the width of the tooltip control.
    CMFCToolTipInfo* params = new CMFCToolTipInfo();
    
    params->m_bBoldLabel = FALSE;
    params->m_bDrawDescription = FALSE;
    params->m_bDrawIcon = FALSE;
    params->m_bRoundedCorners = TRUE;
    params->m_bDrawSeparator = FALSE;
    params->m_clrFill = RGB (255, 255, 255);
    params->m_clrFillGradient = RGB (228, 228, 240);
    params->m_clrText = RGB (61, 83, 80);
    params->m_clrBorder = RGB (144, 149, 168);
    CMFCToolTipCtrl* tipCtrl = new CMFCToolTipCtrl(params);
    tipCtrl->SetDescription(_T("tool tip control"));
    tipCtrl->SetFixedWidth(100,150);
Inheritance Hierarchy
Requirements
Header: afxtooltipctrl.h