CXInfoTip - 信息工具提示






4.85/5 (21投票s)
2001年9月22日
2分钟阅读

132817

4442
CXInfoTip 是一个增强的信息提示控件。
引言
如果你使用 Windows 2000,你可能已经注意到在某些情况下会使用一种特殊的工具提示。 至少在建立拨号网络连接后会显示它。
CXInfoTip
是一个简单的控件,旨在重现这种工具提示。 它支持多行文本(用 '\n' 分隔)和一个图标。 该控件可以用作控件的普通工具提示,也可以用作即时弹出数据提示。 它不是 CTooltip
的直接替代品。 该控件本身在源文件中:CXInfoTip.h 和 CXInfoTip.cpp。
要使用该控件,请创建它,然后调用立即执行的 Show()
方法或使用 AddTool()
添加工具。 如果使用了 AddTool()
,则必须从父窗口重写的 PreTranslateMessage()
中调用 RelayEvent()
方法。
要使用该控件,请向类中添加一个 CXInfoTip
成员变量。
CXInfoTip m_Tip;
对于对话框,在 OnInitDialog()
中创建它。 对于其他窗口,在 OnCreate()
中创建它。
m_Tip.Create(this);
要显示即时工具提示,请调用 Show()
方法。
m_Tip.Show(_T("This is a toolip!"), CPoint(100, 100));
要显示普通工具提示,请为每个控件使用 AddTool()
,并从 PreTranslateMessage()
中调用 RelayEvent()
。
m_Tip.AddTool(GetDlgItem(IDOK),
_T("This is the OK button!"), m_TooltipIcon);
....
BOOL CInfoTipTestDlg::PreTranslateMessage(MSG* pMsg)
{
m_Tip.RelayEvent(pMsg);
...
}
方法
-
CInfoTip::Create
BOOL Create (CWnd * pParentWnd)
创建工具提示控件。
返回值
成功则返回
TRUE
,否则返回FALSE
参数
pParentWnd
指向父窗口的指针。
-
CInfoTip::AddTool
void AddTool(CWnd *pWnd, LPCTSTR szTooltipText, HICON hIcon = NULL)
添加一个工具。
返回值
无
参数
pWnd
指向工具窗口的指针。
szTooltipText
要在窗口的工具提示中显示的文本。 用 '\n' 分隔多行。
hIcon
要在工具提示中显示的图标,如果没有图标,则为
NULL
。
-
CInfoTip::RemoveTool
void RemoveTool(CWnd *pWnd)
移除一个工具。
返回值
无
参数
pWnd
指向要移除的工具窗口的指针。
-
CInfoTip::SetIcon
void SetIcon(HICON hIcon)
设置要为即时工具提示显示的图标。
返回值
无
参数
hIcon
要显示的图标的句柄。
-
CInfoTip::SetShowDelay
void SetShowDelay(int nDelay)
调整显示工具提示之前的延迟。
返回值
无
参数
nDelay
延迟,以毫秒为单位。
-
CInfoTip::SetFont
void SetFont(CFont *pFont)
设置工具提示文本字体。
返回值
无
参数
pFont
指向字体的指针。
-
CInfoTip::RelayEvent
void RelayEvent(LPMSG lpMsg)
将鼠标事件传递给控件。 如果使用了
AddTool()
,则必须从PreTranslateMessage()
中调用此方法。返回值
无
参数
lpMsg
指向消息结构的指针。