使用MFC自带的CToolTipCtrl实现起来非常方便。
1、在 XXXDlg.h 中
virtual BOOL PreTranslateMessage(MSG* pMsg); //响应的按键消息
CToolTipCtrl m_tooltip;
2、XXXDlg.cpp 中
初始化函数BOOL XXXDlg::OnInitDialog()中:
m_tooltip.Create(this);
m_tooltip.AddTool(GetDlgItem(控件ID), TEXT("要提示的信息1"));
m_tooltip.AddTool(GetDlgItem(控件ID), TEXT("要提示的信息2"));
m_tooltip.SetMaxTipWidth(100); //设置工具提示窗口的最大宽度
m_tooltip.Activate(TRUE);
3、在XXXDlg.cpp中 添加代码:
BOOL CFuncPannelDlg::PreTranslateMessage(MSG* pMsg)
{
ASSERT(pMsg != NULL);
if (pMsg->message == WM_MOUSEMOVE || pMsg->message == WM_LBUTTONDOWN || pMsg->message == WM_LBUTTONUP)
{
m_tooltip.RelayEvent(pMsg);
}
return CDialog::PreTranslateMessage(pMsg);
}