程序员真心不容易啊,为了一个好的用户体验真可谓是操碎了心。今天由于项目需要,需要在非模态对话框上,当鼠标处于某个位置的时候有提示框显示。实现这个功能本来很简单,但是却遇到了一个郁闷的问题:PreTranslateMessage函数没响应。于是各种度娘,可惜度娘非谷歌,找了一个小时终于在一个隐蔽的地方找到了解决方法。
首先我介绍下当鼠标处于特定位置的时候有提示信息显示的实现方法。
需要使用MFC的CToolTipCtrl控件。
1.首先在Dialog类中添加一个成员对象
//消息提示框
CToolTipCtrl m_toolTip;</span></span>
2.在OnInitDialog()函数中创建消息提示框
//创建消息提示框
EnableToolTips(TRUE);//enable use it
BOOL bRet = m_toolTip.Create(this, TTS_ALWAYSTIP | WS_CHILD | WS_VISIBLE);
m_toolTip.AddTool(this);
m_toolTip.Activate(TRUE);
m_toolTip.SetDelayTime(150);</span></sp