mfc实现只要鼠标进入对话框中的一个区域就出现tooltip的提示信息,当鼠标离开时提示信息马上消失?急..

显示提示信息的那个窗口下有很多按钮或其他的控件!我的窗口句柄是HWNDhwnd;代码实现最好是当鼠标在区域内移动超过30时提示信息重新在鼠标处显示!高手们,帮帮忙!急啊!... 显示提示信息的那个窗口下有很多按钮或其他的控件!我的窗口句柄是HWND hwnd;代码实现
最好是当鼠标在区域内移动超过30时提示信息重新在鼠标处显示!高手们,帮帮忙!急啊!
展开
 我来答
百度网友d4e476e
推荐于2017-11-24 · TA获得超过101个赞
知道小有建树答主
回答量:94
采纳率:0%
帮助的人:49万
展开全部
假设在CDlg**中有一控件IDC_EDIT_A,想要鼠标指向该控件时提示,步骤如下:

1、CDlg**头文件中声明成员变量
CToolTipCtrl m_tooltip;

2、CDlg***::OnInitDialog() 中创建并设置参数
m_tooltip.Create(this);

//CToolTipCtrl与控件关联
m_tooltip.AddTool(GetDlgItem(IDC_EDIT_A), TTS_ALWAYSTIP);//当鼠标指向IDC_EDIT_A控件显示提示
//若如是句柄可以用FromHandle(hwnd)替换 GetDlgItem(IDC_EDIT_A)

//文字颜色
m_tooltip.SetTipTextColor(RGB(0,0,255));

//鼠标指向多久后显示提示,毫秒
m_tooltip.SetDelayTime(TTDT_INITIAL, 10);

//鼠标保持指向,提示显示多久,毫秒
m_tooltip.SetDelayTime(TTDT_AUTOPOP, 30000);

//设定显示宽度,超长内容自动换行
m_tooltip.SetMaxTipWidth(200);

3、重写PreTranslateMessage,增加以下内容:
if(m_tooltip.m_hWnd!=NULL)
{
m_tooltip.RelayEvent(pMsg);
}

4、在需要的地方动态更新tip内容
m_tooltip.UpdateTipText(str, FromHandle(hwnd));
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式