MFC中為控制元件新增浮動提示框的方法
阿新 • • 發佈:2018-12-23
當我們在寫MFC程式時,有時會希望當滑鼠懸浮在某個控制元件之上時,有相關訊息提示,下面總結該功能的實現方法;
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(IDC_BUTTON1), _T("訊息提示")); m_tooltip.AddTool(GetDlgItem(IDC_BUTTON2), _T("tips test")); m_tooltip.SetMaxTipWidth(123); m_tooltip.Activate(TRUE);
新增虛擬函式的實現:
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); }