您的位置:首页 > 其它

使用CToolTipCtrl控件实现光标移动到一个控件时显示特定的提示信息

2017-04-20 18:48 477 查看
在利用MFC编程时,通常要需要知道某些控件代表一些信息,或在文本框输入时,需要知道文本框输入内容提示信息,ToolTip是Win32中一个通用控件,MFC中为其生成了一个类CToolTipCtrl,可实现提示信息显示。过程如下:

1、添加CToolTipCtrl成员变量 m_Tip;

2、在父窗口中调用EnableToolTips(TRUE);

3、在窗口的OnCreate(或者其他适当的位置)中向ToolTip中添加需要显示Tip的子窗口,并激活控件。

4、重载父窗口的 BOOL PreTranslateMessage(MSG* pMsg) ,在函数中调用m_Tip.RelayEvent(pMsg);

5、重载父窗口的 OnMouseMove(UINT nFlags, CPoint point),设置需要提示的信息。

具体实现过程:

1、在XXDlg.h文件中定义CToolTipCtrl成员变量:

CToolTipCtrl    m_Tip;      //提示信息


2、重载OnCreate()函数,使能激活CToolTipCtrl控件,代码如下

EnableToolTips(TRUE);
m_Tip.Create(this);
m_Tip.Activate(TRUE);


3、重载PreTranslateMessage(MSG* pMsg)函数,在函数中调用 m_Tip.RelayEvent(pMsg),代码如下

if( IsWindow(m_Tip.GetSafeHwnd()) )
m_Tip.RelayEvent(pMsg);


4、重载OnMouseMove(UINT nFlags, CPoint point)函数,对需要的控件进行信息提示设定,以文本框为例,代码如下:

m_Tip.AddTool(GetDlgItem(IDC_EDIT_TIME),_T("延时时间"));    //鼠标移动到IDC_EDIT_TIME文本框时,显示提示信息“延时时间”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐