当我们用VC的MFC大框架编程时,当我们将鼠标放到系统提供的工具栏按钮,或菜单上时,系统会自动弹出一个小的提示框,给出此项功能的帮助或提示,非常友好,那在我们自己的程序中,如何实现此功能呢?
1、在 XXXDlg.h 中
添加:virtual BOOL PreTranslateMessage(MSG* pMsg);
CToolTipCtrl m_tooltip; (变量)
2、在 XXXDlg.cpp 中
在初始化函数BOOL XXXDlg::OnInitDialog()中:
添加:
//tips
m_tooltip.Create(this);
m_tooltip.AddTool(GetDlgItem(IDC_BUTTON_PLAY),_T("This is ToolTip"));
m_tooltip.AddTool(GetDlgItem(IDC_BUTTON_STOP), _T("This is ToolTip"));
m_tooltip.AddTool(GetDlgItem(IDC_BUTTON_FULLSCREEN), _T("This is ToolTip"));
m_tooltip.AddTool(GetDlgItem(IDC_BUTTON_PLAY_PAUSE), _T("This is ToolTip"));
m_tooltip.SetMaxTipWidth(123);
m_tooltip.Activate(TRUE);
3、在XXXDlg.cpp中 添加代码:
BOOL CPlayBackFuncPannelDlg::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);
}
效果图: