CTooltipManager 类

维护有关工具提示的运行时信息。 CTooltipManager 类在每个应用程序中实例化一次。

语法

class CTooltipManager : public CObject

成员

公共方法

名称 描述
CTooltipManager::CreateToolTip 为指定的 Windows 控件类型创建工具提示控件。
CTooltipManager::DeleteToolTip 删除工具提示控件。
CTooltipManager::SetTooltipParams 自定义指定 Windows 控件类型工具提示的可视外观。
CTooltipManager::SetTooltipText 设置工具提示控件的文本和说明。
CTooltipManager::UpdateTooltips

备注

同时使用 CMFCToolTipCtrl 类CMFCToolTipInfoCTooltipManager,以在应用程序中实现自定义的工具提示。 有关如何使用这些工具提示类的示例,请参阅 CMFCToolTipCtrl 类 主题。

继承层次结构

CObject

CTooltipManager

要求

标头: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), &params);

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();

备注

另请参阅

层次结构图

CMFCToolTipCtrl 类
CMFCToolTipInfo 类