CMFCToolTipCtrl Class
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