CTooltipManager 类
维护有关工具提示的运行时信息。 CTooltipManager
类在每个应用程序中实例化一次。
语法
class CTooltipManager : public CObject
成员
公共方法
名称 | 描述 |
---|---|
CTooltipManager::CreateToolTip | 为指定的 Windows 控件类型创建工具提示控件。 |
CTooltipManager::DeleteToolTip | 删除工具提示控件。 |
CTooltipManager::SetTooltipParams | 自定义指定 Windows 控件类型工具提示的可视外观。 |
CTooltipManager::SetTooltipText | 设置工具提示控件的文本和说明。 |
CTooltipManager::UpdateTooltips |
备注
同时使用 CMFCToolTipCtrl 类、CMFCToolTipInfo
和 CTooltipManager
,以在应用程序中实现自定义的工具提示。 有关如何使用这些工具提示类的示例,请参阅 CMFCToolTipCtrl 类 主题。
继承层次结构
要求
标头:afxtooltipmanager.h
CTooltipManager::CreateToolTip
创建工具提示控件。
static BOOL CreateToolTip(
CToolTipCtrl*& pToolTip,
CWnd* pWndParent,
UINT nType);
参数
pToolTip
[out] 对工具提示指针的引用。 它设置为在函数返回时指向新建的工具提示。
pWndParent
[in] 工具提示的父级。
nType
[in] 工具提示的类型。
返回值
如果已成功创建工具提示,则为非零。
注解
必须调用 CTooltipManager::DeleteToolTip 来删除在 pToolTip 中传回的工具提示控件。
CTooltipManager 根据 nType 指定的工具提示类型设置其创建的每个工具提示的视觉显示参数。 若要更改一种或多种工具提示类型的参数,请调用 CTooltipManager::SetTooltipParams。
下表列出了有效的工具提示类型:
工具提示类型 | 控件类别 | 示例类型 |
---|---|---|
AFX_TOOLTIP_TYPE_BUTTON | 按钮。 | CMFCButton |
AFX_TOOLTIP_TYPE_CAPTIONBAR | 标题栏。 | CMFCCaptionBar |
AFX_TOOLTIP_TYPE_DEFAULT | 任何不符合其他类别的控件。 | 无。 |
AFX_TOOLTIP_TYPE_DOCKBAR | 可停靠的窗格。 | CDockablePane |
AFX_TOOLTIP_TYPE_EDIT | 文本框。 | 无。 |
AFX_TOOLTIP_TYPE_MINIFRAME | 微型框。 | CPaneFrameWnd |
AFX_TOOLTIP_TYPE_PLANNER | 规划器。 | 无。 |
AFX_TOOLTIP_TYPE_RIBBON | 功能区栏。 | CMFCRibbonBar、CMFCRibbonPanelMenuBar |
AFX_TOOLTIP_TYPE_TAB | 选项卡控件。 | CMFCTabCtrl |
AFX_TOOLTIP_TYPE_TOOLBAR | 工具栏。 | CMFCToolBar、CMFCPopupMenuBar |
AFX_TOOLTIP_TYPE_TOOLBOX | 工具箱。 | 无。 |
CTooltipManager::DeleteToolTip
删除工具提示控件。
static void DeleteToolTip(CToolTipCtrl*& pToolTip);
参数
pToolTip
[in, out] 对指向要销毁的工具提示的指针的引用。
备注
为 CTooltipManager::CreateToolTip 创建的每个 CToolTipCtrl 类调用此方法。 父控件应从其 OnDestroy
处理程序调用此方法。 这需要从框架中正确移除工具提示。 此方法在返回之前将 pToolTip 设置为 NULL。
CTooltipManager::SetTooltipParams
自定义指定 Windows 控件类型工具提示的外观。
void SetTooltipParams(
UINT nTypes,
CRuntimeClass* pRTC=RUNTIME_CLASS(CMFCToolTipCtrl),
CMFCToolTipInfo* pParams=NULL);
参数
nTypes
[in] 指定控件类型。
pRTC
[in] 自定义工具提示的运行时类。
pParams
[in] 工具提示参数。
备注
此方法设置 CToolTipManager 在创建工具提示时使用的运行时类和初始参数。 当控件调用 CTooltipManager::CreateToolTip 并传入属于 nTypes 指示的一种工具提示类型时,工具提示管理器会创建工具提示控件,这是 pRTC 指定的运行时类的实例,并将 pParams 指定参数传递给新的工具提示。
调用此方法时,所有现有工具提示所有者都会收到 AFX_WM_UPDATETOOLTIPS 消息,并且所有者必须使用 CTooltipManager::CreateToolTip 重新创建其工具提示。
nTypes 可以是 CTooltipManager::CreateToolTip 使用的有效工具提示类型的任意组合,也可以是 AFX_TOOLTIP_TYPE_ALL。 如果传递 AFX_TOOLTIP_TYPE_ALL,所有工具提示类型都会受到影响。
示例
下面的示例演示如何使用 CTooltipManager
类的 SetTooltipParams
方法。 此代码片段属于 Draw Client 示例。
CMFCToolTipInfo params;
params.m_bVislManagerTheme = TRUE;
theApp.GetTooltipManager()->SetTooltipParams(AFX_TOOLTIP_TYPE_ALL, RUNTIME_CLASS(CMFCToolTipCtrl), ¶ms);
CTooltipManager::SetTooltipText
设置工具提示的文本和说明。
static void SetTooltipText(
TOOLINFO* pTI,
CToolTipCtrl* pToolTip,
UINT nType,
const CString strText,
LPCTSTR lpszDescr=NULL);
参数
pTI
[in] 指向 TOOLINFO 对象的指针。
pToolTip
[in, out] 指向要为其设置文本和说明的工具提示控件的指针。
nType
[in] 指定与此工具提示关联的控件的类型。
strText
[in] 要设置为工具提示文本的文本。
lpszDescr
[in] 指向工具提示说明的指针。 可以为 NULL。
备注
nType 的值必须与创建工具提示时 CTooltipManager::CreateToolTip 的 nType 参数值相同。
CTooltipManager::UpdateTooltips
有关详细信息,请参阅所安装的 Visual Studio 的 C\atlmfc\src\mfc 文件夹中的源代码。
void UpdateTooltips();