1. 程式人生 > >MFC中為控制元件新增浮動提示框的方法

MFC中為控制元件新增浮動提示框的方法

當我們在寫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);
}