MFC添加鼠标悬停按钮信息

在使用MFC时,想要在鼠标停在按钮上时,显示文字提示信息,这篇博客主要给出实现这部分功能的代码。

首先在头文件中添加CToolTipCtrl类型的控件变量:

CToolTipCtrl m_toolTip;

在对话框初始化时候添加信息显示的初始化代码:

	EnableToolTips();
	m_toolTip.Create(this);
	m_toolTip.Activate(true);
	m_toolTip.SetDelayTime(150);
	m_toolTip.SetTipTextColor(RGB(0, 0, 255));
	m_toolTip.SetTipBkColor(RGB(255, 255, 255));
	
	m_toolTip.AddTool(GetDlgItem(IDC_BUTTON3), _T("Start Algorithm"));
	m_toolTip.AddTool(GetDlgItem(IDC_BUTTON4), _T("Pause Algorithm"));

然后再添加PreTranslateMessage消息,然后添加如下代码:

BOOL CRVAFGUIDlg::PreTranslateMessage(MSG* pMsg)
{
	// TODO: Add your specialized code here and/or call the base class
	if (pMsg->message == WM_MOUSEMOVE){
		m_toolTip.RelayEvent(pMsg);
	}
	return CDialogEx::PreTranslateMessage(pMsg);
}

 

 

发表评论