tooltips

mouse_xie 2008-10-07 06:20:13
当我鼠标移到控件上时能够显示tips ,但我吧鼠标移开放在其他空白处还显示这个tips 。why?
...全文
156 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
mouse_xie 2008-10-10
  • 打赏
  • 举报
回复
这里要根据鼠标点击的区域显示不同的提示。
譬如list中有很多行,每行都有不同的提示。
FireBirdCN 2008-10-10
  • 打赏
  • 举报
回复
不用处理 Mouse
FireBirdCN 2008-10-10
  • 打赏
  • 举报
回复
.h 中
CToolTipCtrl m_tooltip;
CEdit m_edit;

初始化里
m_tooltip.Create(this);
m_tooltip.AddTool(&m_edit,"格式:XX-XX-X");

添加虚函数
BOOL CDlg1::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->wParam == VK_ESCAPE || pMsg->wParam == VK_RETURN)
return TRUE;

m_tooltip.RelayEvent(pMsg);
return CDialog::PreTranslateMessage(pMsg);
}

OVER

mouse_xie 2008-10-10
  • 打赏
  • 举报
回复
这是在onmousemove里面实现的
判断point是不是在所设定的矩形区域,是的话 就Updatetiptext();

大致如下
for(i=0,i < ;i++)
{
if(rect[i].ptinrect(point) //rect是保存的矩形区域;
{
Updatetiptext(str,this)
}
else
{
updatetiptext(“”,this);
}
}
在PreTranslateMessage也有添加if(m_tooltip.m_hWnd!=NULL)
m_tooltip.RelayEvent(pMsg);

不知道为什么离开区域还能显示上一次的提示消息
yupengchen951124 2008-10-08
  • 打赏
  • 举报
回复

PreTranslateMessage(MSG* pMsg)函数里添加:

if(m_tooltip.m_hWnd!=NULL)
m_tooltip.RelayEvent(pMsg);

LZ白度一下 吧 那里有很多例子。

mouse_xie 2008-10-08
  • 打赏
  • 举报
回复
这是在onmousemove里面实现的
判断point是不是在所设定的矩形区域,是的话 就Updatetiptext();
不是的不做动作。

如果我在不是里面也updatetiptext(“”,this)的话,可以达到目的,但这时tips会闪烁。设置delay也没有作用。

大致如下
for(i=0,i< ;i++)
{
if(rect[i].ptinrect(point) //rect是保存的矩形区域;
{
Updatetiptext(str,this)
}
else
{
updatetiptext(“”,this);
}
}
normallife 2008-10-08
  • 打赏
  • 举报
回复
你到底是用MFC写的,还是用win sdk去写的代码啊?你出现的情况我觉得是TOOLINFO中的hwnd没有写对,也就是说Tooltip绑定到了那个窗口。你会不会绑定到了desktop.
VsirSoft 2008-10-07
  • 打赏
  • 举报
回复
他只有在相应的范围内才会产生提示

检查一下代码 看看是不是空白处时也响应了消息。

用TRACE看看坐标的情况 多调试一下 祝你好运
Fireway2008 2008-10-07
  • 打赏
  • 举报
回复
也许你没判断好响应 提示框的条件吧,
处理一下OnMouseMove(UINT nFlags, CPoint point)
按控件不同分情况讨论,试试看。
zzz822163 2008-10-07
  • 打赏
  • 举报
回复
你是怎么做的?
hyg 2008-10-07
  • 打赏
  • 举报
回复
CToolTipCtrl m_tooltip;

初始化函数里边添加
m_tooltip.SetDelayTime(150);

PreTranslateMessage(MSG* pMsg)函数里添加:

if(m_tooltip.m_hWnd!=NULL)
m_tooltip.RelayEvent(pMsg);

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧