CToolTipCtrl

CToolTipCtrl 类 封 装 了 一 个 “ 工 具 提 示 控 件 ” 的 性 能 。 工 具 提 示 控 件 是 一 个 小的 弹 出 窗 口 , 它 用 来 显 示 一 行 描 述 应 用 程 序 中 的 一 个 工 具 的 目 的 的 文 本 。 一 个“ 工 具 ” 可 以 是 一 个 窗 口 , 比 如 说 一 个 子 窗 口 或 控 件 , 或 者 是 一 个 窗 口 的 客 户区 中 的 一 个 应 用 程 序 定 义 的 矩 形 区 域 。 一 个 工 具 提 示 大 多 数 时 间 是 隐 藏 的 , 只有 在 用 户 将 光 标 放 在 一 个 工 具 上 并 停 留 大 约 半 秒 时 间 时 , 工 具 提 示 才 显 示 出来 。 工 具 提 示 显 示 在 光 标 的 附 近 , 当 用 户 点 击 鼠 标 按 钮 或 将 光 标 从 工 具 上 离 开时 , 工 具 提 示 消 失 。

CToolTipCtrl 提 供 了 一 些 功 能 , 用 来 控 制 工 具 提 示 的 初 始 时 间 和 持 续 时 间 , 工

具 提 示 周 围 的 边 距 宽 度 , 工 具 提 示 窗 口 本 身 的 宽 度 , 以 及 工 具 提 示 的 背 景 和 文本 颜 色 。 一 个 工 具 提 示 控 件 可 以 为 多 个 工 具 提 供 信 息 。

CToolTipCtrl 类 提 供 了 W indows 通 用 工 具 提 示 控 件 的 功 能 。 这 个 控 件 ( 也 就 是这 个 CToolTipCtrl 类 ) 只 对 运 行 在 W indows 95 和 W indows NT 3.51 或 更 高 版本 下 的 程 序 来 说 是 可 用 的 。

有 关 使 能 CToolTipCtrl 的 更 多 信 息 , 参 见 “ Visual C++ 程 序 员 指 南 ” 中 的 “ 控件 主 题 ” 和 “ 使 用 CToolTipCtrl ”。

#include <afxcmn.h>

请 参 阅 CtoolBar

CToolTipCtrl 类 成 员

Construction

CtoolTipCtrl 创 建 一 个 CToolTipCtrl 对象

Create 创 建 一 个 工 具 提 示 控 件 并 将 它 与 一 个 CToolTipCtrl

对 象 连 接

Attribute s GetText 获 取 一 个 工 具 提 示 控 件 为 一 个 工 具 维 持 的 文 本GetToolInfo 获 取 一 个 工 具 提 示 控 件 维 持 的 关 于 一 个 工 具 的 信

SetToolInfo 设 置 一 个 工 具 提 示 控 件 为 一 个 工 具 维 持 的 文 本GetToolCount 获 取 由 一 个 工 具 提 示 控 件 支 持 的 工 具 数GetDelayTime 获 取 当 前 为 一 个 工 具 提 示 控 件 设 置 的 初 始 , 弹 出 ,

和 再 显 示 持 续 时 间

SetDelayTime 为 一 个 工 具 提 示 控 件 设 置 初 始 , 弹 出 , 和 再 显 示

持 续 时 间

续 表

GetMargin 获 取 当 前 为 一 个 工 具 提 示 窗 口 设 置 的 上 , 左 , 底 ,

和 右 边 距

SetMargin 为 一 个 工 具 提 示 窗 口 设 置 上 , 左 , 底 , 和 右 边 距GetMaxTipWidth 获 取 一 个 工 具 提 示 窗 口 的 最 大 宽 度SetMaxTipWidth 设 置 一 个 工 具 提 示 窗 口 的 最 大 宽 度GetTipBkColor 获 取 一 个 工 具 提 示 窗 口 中 的 背 景 颜 色

SetTipB k Color 设 置 一 个 工 具 提 示 窗 口 中 的 背 景 颜 色GetTipTextColor 获 取 一 个 工 具 提 示 窗 口 中 的 文 本 颜 色SetTipTextColor 设 置 一 个 工 具 提 示 窗 口 中 的 文 本 颜 色

Operations

Activate 激 活 工 具 提 示 控 件 或 使 它 成 为 不 活 动 的

AddTool 向 一 个 工 具 提 示 控 件 注 册 一 个 工 具

DelTool 从 工 具 提 示 控 件 中 删 除 一 个 工 具

HitTest 测 试 一 个 点 , 以 确 定 它 是 否 位 于 给 定 工 具 的 边 界矩 形 之 内 , 如 果 是 , 返 回 关 于 这 个 工 具 的 信 息

RelayEvent 传 递 一 个 鼠 标 消 息 给 工 具 提 示 控 件 处 理

SetToolRect 为 一 个 工 具 设 置 一 个 新 的 边 界 矩 形UpdateTipText 为 一 个 工 具 设 置 工 具 提 示 文 本Update 强 制 当 前 工 具 被 重 画

续表

Pop 从 视 中 删 除 一 个 被 显 示 的 工 具 提 示 窗 口

成 员 函 数

CToolTipCtrl::Activate

void Activate( BOOL bActivate );

参 数

bActivate

指 示 是 要 激 活 该 工 具 提 示 控 件 , 还 是 要 使 它 成 为 不 活 动 的 。

说 明

此 成 员 函 数 用 来 激 活 一 个 工 具 提 示 控 件 或 使 它 成 为 不 活 动 的 。 如 果 bActivate 是

TRU E , 则 控 件 被 激 活 ; 如 果 是 FALSE , 则 将 控 件 变 为 不 活 动 的 。

当 一 个 工 具 提 示 控 件 被 激 活 时 , 当 光 标 在 一 个 向 工 具 提 示 注 册 过 的 工 具 上 时 就会 显 示 工 具 提 示 信 息 ; 当 工 具 提 示 控 件 是 不 活 动 的 时 , 则 不 会 显 示 工 具 提 示 信息 , 即 使 是 光 标 在 一 个 工 具 上 。

请 参 阅 CToolTipCtrl::UpdateTipText, CToolTipCtrl::SetDelayTime

CToolTipCtrl::AddTool

BOOL AddTool( CWnd* pWnd , UINT nIDText , LPCRECT lpRectTool = NULL, UINT nIDTool = 0 );

BOOL AddTool( CWnd* pWnd , LPCTSTR lpszText = LPSTR_TEXTCALLBACK,

LPCRECT lpRectTool = NULL, UINT nIDTool = 0 );

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

pWnd

指 向 包 含 此 工 具 的 窗 口 的 指 针 。

nIDText

包 含 工 具 的 文 本 的 字 符 串 资 源 的 ID 。

lpRectTool

指 向 一 个 RECT 结 构 的 指 针 , 该 结 构 包 含 了 工 具 的 边 界 矩 形 的 坐 标 。 此坐 标 是 相 对 于 由 pWnd 指 定 的 窗 口 的 客 户 区 的 左 上 角 的 。

nIDTool

该 工 具 的 ID 。

lpszText

指 向 工 具 的 文 本 的 指 针 。 如 果 这 个 参 数 包 含 的 值 是LPSTR_TEXTCALLBACK ,则 TTN_NEEDTEXT 通 知 消 息 被 发 送 给 pWnd 指 向 的 窗 口 的 父 窗 口 。

说 明

一 个 工 具 提 示 控 件 可 以 与 多 于 一 个 的 工 具 相 关 联 。 此 成 员 函 数 用 来 向 工 具 提 示控 件 注 册 一 个 工 具 , 这 样 当 光 标 位 于 这 个 工 具 上 面 时 , 保 存 在 工 具 提 示 中 的 信息 就 被 显 示 。

请 参 阅 CToolTipCtrl::DelTool

CToolTipCtrl::Create

BOOL Create( CWnd* pParentWnd , DWORD dwStyle = 0 );

返 回 值

如 果 CToolTipCtrl 对 象 被 成 功 创 建 , 则 返 回 非 零 值 ; 否 则 返 回 零 。

参 数

pParentWnd

指 定 工 具 提 示 控 件 的 父 窗 口 , 通 常 是 一 个 CDialog 。 它 不 能 是 NULL 。

dwStyle

指 定 工 具 提 示 控 件 的 风 格 。 使 用 该 控 件 所 需 要 的 风 格 的 任 意 组 合 。

说 明

构 造 一 个 CToolTipCtrl 对 象 分 为 两 步 。 首 先 调 用 构 造 函 数 来 构 造 CToolTipCtrl

对 象 ; 然 后 调 用 Create 来 创 建 工 具 提 示 控 件 并 将 它 与 CToolTipCtrl 对 象 连 接 。

dwStyle 参 数 可 以 是 任 意 W indows 风 格 的 组 合 。 另 外 , 一 个 工 具 提 示 控 件 还 具有 两 种 特 定 类 风 格 : TTS_ALWAYSTIP 和 TTS_NOPREFIX 。

风格 含 义

TTS_ALWAYSTIP 指 示 当 光 标 在 一 个 工 具 上 时 显 示 工 具 提 示 , 不 管 工

具 提 示 的 属 主 窗 口 是 否 是 处 于 活 动 状 态 。 没 有 这 个风 格 , 则 只 有 当 工 具 的 属 主 窗 口 是 活 动 的 时 候 才 会显 示 工 具 提 示 控 件 , 否 则 不 显 示

TTS_NOPREFIX 这 个 风 格 禁 止 系 统 将 & 字 符 从 一 个 字 符 串 中 去 掉 。

如 果 一 个 工 具 提 示 控 件 没 有 TTS_NOPREFIX 风格 , 则 系 统 自 动 去 掉 & 字 符 , 让 应 用 程 序 用 同 一 个字 符 串 作 为 菜 单 项 和 工 具 提 示 控 件 中 的 文 本

一 个 工 具 提 示 控 件 总 是 具 有 WS_POPUP 和 WS_EX_TOOLWINDOW 风 格 , 不管 在 创 建 它 们 的 时 候 你 是 否 指 定 。

请 参 阅 CToolTipCtrl::CToolTipCtrl

CToolTipCtrl::CToolTipCtrl

CToolTipCtrl( );

说 明

此 成 员 函 数 用 来 构 造 一 个 CToolTipCtrl 对 象 。 在 构 造 了 对 象 之 后 你 必 须 调 用

Create 函 数 。

请 参 阅 CToolTipCtrl::Create

CToolTipCtrl::DelTool

void DelTool( CWnd* pWnd , UINT nIDTool = 0 );

参 数

pWnd

指 向 包 含 工 具 的 窗 口 的 指 针 。

nIDTool

工 具 的 ID 。

说 明

此 成 员 函 数 用 来 从 一 个 工 具 提 示 控 件 支 持 的 工 具 集 合 中 删 除 由 pWndnIDTool

指 定 的 工 具 。

请 参 阅 CToolTipCtrl::AddTool

CToolTipCtrl::GetDelayTime

int GetDelayTime( DWORD dwDuration ) const;

返 回 值

返 回 用 毫 秒 表 示 的 指 定 延 迟 时 间 。

参 数

dwDuration

用 来 指 定 将 要 获 取 哪 一 个 时 间 持 续 值 的 标 志 。 这 个 参 数 可 以 是 下 列 值 之

    • TTDT_AUTOPOP 获 取 当 指 针 固 定 在 一 个 工 具 的 边 界 矩 形

      内 时 工 具 提示 窗 口 保 持 持 续 可 见 的 时 间 长 度 。

    • TTDT_INITIAL 获 取 在 工 具 提 示 窗 口 显 示 之 前 指 针 必 须

      固 定 在 一 个工 具 的 边 界 矩 形 内 的 时 间 长 度 。

    • TTDT_RESHOW 获 取 当 指 针 从 一 个 工 具 移 动 到 另 一 个 工

      具 时 , 后 续工 具 提 示 窗 口 显 示 所 需 要 的 时 间 长 度 。

说 明

此 成 员 函 数 用 来 实 现 W in32 消 息 TTM_GETDELAYTIME 的 行 为 , 就 像 在

请 参 阅 CToolTipCtrl::SetMargin

CToolTipCtrl::GetMargin

void GetMargin( LPRECT lprc ) const;

参 数

lprc

是 一 个 将 用 来 获 取 边 距 信 息 的 RECT 结 构 的 地 址 。 该 RECT 结 构 的 成 员没 有 定 义 一 个 边 界 矩 形 。 为 了 实 现 这 个 消 息 的 目 的 , 将 结 构 成 员 解 释 如下:

Member Representation

Top 顶 边 线 与 工 具 提 示 文 本 顶 部 之 间 的 以 像 素 表 示 的 距 离

Left 左 边 线 与 提 示 文 本 最 左 边 之 间 的 以 像 素 表 示 的 距 离

bottom 底 边 线 与 提 示 文 本 底 部 之 间 的 以 像 素 表 示 的 距 离

right 右 边 线 与 提 示 文 本 最 右 边 之 间 的 以 像 素 表 示 的 距 离

说 明

此 成 员 函 数 用 来 实 现 W in32 消 息 TTM_GETMARGIN 的 行 为 ,就 像 在“ Platform

请 参 阅 CToolTipCtrl::SetMargn

CToolTipCtrl::GetMaxTip W idth

int GetMaxTipWidth( ) const;

返 回 值

返 回 一 个 工 具 提 示 窗 口 的 最 大 宽 度 。

说 明

此 成 员 函 数 用 来 实 现 W in32 消 息 TTM_GETMAXTIPWIDTH 的 行 为 , 就 像 在“ Platform SDK ” 中 描 述 的 一 样 。

请 参 阅 CToolTipCtrl::SetMaxTipWidth

CToolTipCtrl::GetText

void GetText( CString& str , CWnd* pWnd , UINT nIDTool = 0 ) const;

参 数

str

是 对 一 个 用 来 接 收 工 具 的 文 本 的 CString 对 象 的 引 用 。

pWnd

指 向 包 含 工 具 的 窗 口 的 指 针 。

nIDTool

工 具 的 ID 。

说 明

此 成 员 函 数 用 来 获 取 工 具 提 示 控 件 为 一 个 工 具 保 持 的 文 本 。 pWndnIDTool 参 数 标 识 工 具 。 如 果 该 工 具 先 前 通 过 调 用 CToolTipCtrl::AddTool 向 工 具 提 示 控件 注 册 过 , 则 由 str 参 数 引 用 的 对 象 被 赋 给 工 具 的 文 本 。

请 参 阅 CToolTipCtrl::AddTool, CToolTipCtrl::DelTool

CToolTipCtrl::GetTipBkColor

COLORREF GetTipBkColor( ) const;

返 回 值

返 回 一 个 代 表 背 景 颜 色 的 COLORREF 值 。

说 明

此 成 员 函 数 用 来 实 现 W in32 消 息 TTM_GETTIPBKCOLOR 的 行 为 , 就 像 在“ Platform SDK ” 中 描 述 的 一 样 。

请 参 阅 CToolTipCtrl::SetTipBkColor

CToolTipCtrl::GetTipTextColor

COLORREF GetTipTextColor( ) const;

返 回 值

返 回 一 个 代 表 文 本 颜 色 的 COLORREF 值 。

说 明

此 成 员 函 数 用 来 实 现 W in32 消 息 TTM_GETTIPTEXTCOLOR 的 行 为 , 就 像 在“ Platform SDK ” 中 描 述 的 一 样 。

请 参 阅 CToolTipCtrl::SetTipTextColot

CToolTipCtrl::GetToolCount

int GetToolCount( ) const;

返 回 值

返 回 向 工 具 提 示 控 件 注 册 了 的 工 具 数 目 。

说 明

此 成 员 函 数 用 来 获 取 向 工 具 提 示 控 件 注 册 的 工 具 数 目 。

请 参 阅 CToolTipCtrl::AddTool, CToolTipCtrl::DelTool

CToolTipCtrl::GetToolInfo

BOOL GetToolInfo( CToolInfo& CToolInfo , CWnd* pWnd , UINT nIDTool = 0) const;

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

CToolInfo

是 对 一 个 用 来 接 收 工 具 的 文 本 的 TOOLINFO 对 象 的 引 用 。

pWnd

指 向 包 含 工 具 的 窗 口 的 指 针 。

nIDTool

工 具 的 ID 。

说 明

此 成 员 函 数 用 来 获 取 一 个 工 具 提 示 控 件 保 持 的 一 个 工 具 的 信 息 。 由 CToolInfo 引 用 的 TOOLINFO 结 构 中 的 hwnd 和 uId 成 员 标 识 了 该 工 具 。 如 果 该 工 具 先 前已 经 通 过 调 用 AddTool 向 工 具 提 示 控 件 注 册 了 , 则 TOOLLINFO 结 构 被 用 该 工具 的 信 息 填 充 。

请 参 阅 CToolTipCtrl::AddTool

CToolTipCtrl::HitTest

BOOL HitTest( CWnd* pWnd , CPoint p t, LPTOOLINFO lpToolInfo ) const;

如 果 由 点 击 - 测 试 信 息 指 定 的 点 在 工 具 的 边 界 矩 形 之 内 , 则 返 回 非 零 值 ; 否 则 返回 0 。

参 数

pWnd

指 向 包 含 工 具 的 窗 口 的 指 针 。

pt

指 向 一 个 用 来 包 含 要 被 测 试 的 点 的 坐 标 的 CPoint 对 象 的 指 针 。

lpToolInfo

指 向 包 含 工 具 信 息 的 TOOLINFO 结 构 的 指 针 。

说 明

此 成 员 函 数 用 来 测 试 一 个 点 , 以 确 定 这 个 点 是 否 位 于 给 定 工 具 的 边 界 矩 形 之内 , 如 果 是 , 则 获 取 有 关 该 工 具 的 信 息 。

如 果 这 个 函 数 返 回 一 个 非 零 值 , 则 用 该 点 所 在 的 工 具 的 信 息 来 填 充 lpToolInfo

指 向 的 结 构 。

TTHITTESTINFO 结 构 按 如 下 定 义 :

typedef struct _TT_HITTESTINFO { // tthti

H W N D hwnd; // handle of tool or window with tool POINT pt; // client coordinates of point to test TOOLINFO ti; // receives information about the tool

} TTHITTESTINFO, FAR * LPHITTESTINFO;

hwnd

指 定 该 工 具 的 句 柄 。

pt

如 果 一 个 点 在 工 具 的 边 界 矩 形 内 , 则 指 定 这 个 点 的 坐 标 。

ti

有 关 该 工 具 的 信 息 。 有 关 TOOLINFO 结 构 的 更 多 信 息 , 可 以 参 见

C ToolTipCtrl::Get- ToolInfo 。

请 参 阅 CToolTipCtrl::GetToolInfo

CToolTipCtrl::Pop

void pop( );

说 明

此 成 员 函 数 用 来 将 一 个 被 显 示 的 工 具 提 示 窗 口 从 视 中 删 除 。

此 成 员 函 数 用 来 实 现 W in32 消息 TTM_POP 的 行 为 , 就 像 在 “ Platform SDK ”

中 描 述 的 一 样 。

CToolTipCtrl::RelayEvent

void RelayEvent( LPMSG lpMsg );

参 数

lpMsg

指 向 一 个 包 含 要 转 播 的 消 息 的 MSG 结 构 的 指 针 。

说 明

此 成 员 函 数 用 来 将 一 个 鼠 标 消 息 传 递 给 一 个 工 具 提 示 控 件 处 理 。 一 个 工 具 提 示只 处 理 下 面 的 消 息 , 这 些 消 息 是 通 过 RelayEvent 传 递 给 它 的 :

WM_LBUTTONDOWN WM_MOUSEMOVE WM_LBUTTONUP WM_RBUTTONDOWN W M _ M B U T T O N D O W N WM_RBUTTONUP WM_MBUTTONUP

请 参 阅 CWnd::PreTranslateMessage, CWinApp::PreTranslateMessage

void SetDelayTime( UINT nDelay );

void SetDelayTime( DWORD dwDuration , int iTime );

参 数

nDelay

指 定 以 毫 秒 表 示 的 新 的 延 迟 时 间 。

dwDuration

指 定 要 获 取 哪 一 段 持 续 时 间 值 的 标 志 。 参 见 CToolTipCtrl::GetDelayTime

可 以 获 得 其 有 效 值 的 描 述 。

iTime

以 毫 秒 表 示 的 指 定 延 迟 时 间 。

说 明

此 成 员 函 数 用 来 为 一 个 工 具 提 示 控 件 设 置 延 迟 时 间 。 延 迟 时 间 是 在 工 具 提 示 窗口 显 示 之 前 光 标 必 须 保 持 在 一 个 工 具 上 的 时 间 长 度 。 缺 省 的 延 迟 时 间 是 500 毫秒 。

请 参 阅 CToolTipCtrl::Activate, CToolTipCtrl::HitTest CtoolTipCtrl::GetDelayTime,T T M_SETDELAYTIME

void SetMargin( LPRECT lprc );

参 数

lprc

说 明

一 个 包 含 要 被 设 置 的 边 距 的 信 息 的 RECT 结 构 的 地 址 。 该 RECT 结 构 的成 员 没 有 定 义 一 个 边 界 矩 形 。 参 见 CToolTipCtrl::GetMargin 可 以 获 得 有关 边 界 信 息 的 描 述 。

此 成 员 函 数 用 来 实 现 W in32 消 息 TTM_SETMARGIN 的 行 为 , 就 像 在“ Platform SDK ” 中 描 述 的 一 样 。

请 参 阅 CToolTipCtrl::GetMargin CToolTipCtrl::SetMaxTipWidth int SetMaxTipWidth( int iW idth )

返 回 先 前 的 最 大 提 示 宽 度 。

参 数

iWidth

要 设 置 的 最 大 工 具 提 示 窗 口 的 宽 度 。

说 明

此 成 员 函 数 用 来 实 现 W in32 消 息 TTM_SETMAXTIPWIDTH 的 行 为 , 就 像 在“ Platform SDK ” 中 描 述 的 一 样 。

请 参 阅 CToolTipCtrl::GetMaxTipWidth

CToolTipCtrl::SetTipBkColor

void SetTipBkColor ( COLORREF clr );

参 数

clr

新 的 背 景 颜 色 。

此 成 员 函 数 用 来 实 现 W in32 消 息 TTM_SETTIPBKCOLOR 的 行 为 , 就 像 在“ Platform SDK ” 中 描 述 的 一 样 。

请 参 阅 CToolTipCtrl::GetTipBkColor

CToolTipCtrl::SetTipTextColor

void SetTipTextColor( COLORREF clr );

参 数

clr

新 的 文 本 颜 色 。

说 明

此 成 员 函 数 用 来 实 现 W in32 消息 TTM_SETTIPTEXTCOLOR 的 行 为 , 就 像 在“ Platform SDK ” 中 描 述 的 一 样 。

请 参 阅 CToolTipCtrl::GetTipTextColor

CToolTipCtrl::SetToolInfo

void SetToolInfo( LPTOOLINFO lpToolInfo );

参 数

lpToolInfo

指 向 一 个 用 来 指 定 要 设 置 的 信 息 的 TOOLINFO 结 构 的 指 针 。

说 明

此 成 员 函 数 用 来 设 置 一 个 工 具 提 示 控 件 为 一 个 工 具 保 持 的 信 息 。

请 参 阅 CToolTipCtrl::GetToolInfo

CToolTipCtrl::SetToolRect

void SetToolRect( C W nd* pWnd , UINT nIDToo l, LPCRECT lpRect );

参 数

pWnd

指 向 包 含 工 具 的 窗 口 的 指 针 。

nIDTool

工 具 的 ID 。

lpRect

指 向 一 个 RECT 结 构 的 指 针 , 该 结 构 指 定 了 新 的 边 界 矩 形 。

说 明

此 成 员 函 数 用 来 为 一 个 工 具 设 置 新 的 边 界 矩 形 。

请 参 阅 CToolTipCtrl::GetToolInfo

CToolTipCtrl::Update

void Update( );

说 明

此 成 员 函 数 用 来 强 制 当 前 工 具 被 重 画 。

请 参 阅 CToolTipCtrl::UpdateTipText

CToolTipCtrl::UpdateTipText

void UpdateTipText( LPCTSTR lpszText , CWnd* pWnd , UINT nIDTool = 0 ); void UpdateTipText( UINT nIDText , CWnd* pWnd , UINT nIDTool = 0 );

参 数

lpszText

指 向 工 具 的 文 本 的 指 针 。

pWnd

指 向 包 含 此 工 具 的 窗 口 的 指 针 。

nIDTool

工 具 的 ID 。

nIDText

包 含 工 具 文 本 的 字 符 串 资 源 的 ID 。

说 明

此 成 员 函 数 用 来 为 此 控 件 的 工 具 更 新 工 具 提 示 文 本 。

请 参 阅 CToolTipCtrl::GetToolInfo