以下实现通过查找资料,自己试验正确。
1.定义 CToolTipCtrl m_Tip;在
BOOL CXXXDlg::OnInitDialog()
{
...
EnableToolTips(TRUE);
m_Tip.Create(this);
m_Tip.Activate(TRUE);
CRect rc;//rc为某一区域的坐标位置,视具体赋值 。有一点要注意的是,非客户区的提示,一般得到的坐标为客户区坐标,需要转换为非客户区坐标。
m_Tip.AddTool(this,"帮助",&rc,1);//也可为某个控件添加提示,具体获取其CWnd*指针及区域大小
}
2.重载dlg的 virtual BOOL PreTranslateMessage(MSG* pMsg);
实现如下:
BOOL CXXXDlg::PreTranslateMessage(MSG* pMsg)
{
if(m_Tip)
m_Tip.RelayEvent(pMsg);
return CDialog::PreTranslateMessage(pMsg);
}
本文介绍如何在MFC对话框中实现工具提示功能,包括初始化对话框时创建和激活CToolTipCtrl对象,以及通过重载PreTranslateMessage方法来处理鼠标事件。
1928

被折叠的 条评论
为什么被折叠?



