我用 CToolTipCtrl m_openToolTip;动态显示坐标信息,在OnMouseMove里有CString str;
str.Format("%d %d",point.x,point.y);
m_openToolTip.UpdateTipText(str,this)可是我想鼠标在此点停留5秒才显示,时间不够不显示,有什么好方法么
str.Format("%d %d",point.x,point.y);
m_openToolTip.UpdateTipText(str,this)可是我想鼠标在此点停留5秒才显示,时间不够不显示,有什么好方法么
解决方案 »
- 我的状态条怎么有资源泄露
- skin文件是怎么制作的
- 怎么样在多文档的TOOLBAR中处理自画控件?
- 在VC中用ODBC读写EXCEL文件的奇怪问题!紧急啊紧急!!
- 菜鸟初学vc,在窗体上放了两个按钮,我想点击第一个按钮,使第二个按钮的文字变成‘您好’,并且字体为宋体20号字,谁能帮忙啊??
- 如何登录win2000,用什么api函数?
- 金山词霸是怎样在IE和Word中嵌入工具条的?象3721之类的控件是怎样实现自动安装的...
- 请教一个com的问题 , 谢谢!
- 在OnClick(NMHDR* pNMHDR, LRESULT* pResult)中如何得到鼠标的坐标和其它信息?
- c++新手求救关于c++访问注册表的问题,请大侠帮助
- MFC 在一个工程中使用两个记录集
- 对简单的服务器如何做测试(再次推荐)
int MVStopTime = 0;
OnMouseMove
{
MVStopTime = GetTickCount();
..//其它操作,获得位置等
}OnTimer()
{
if(GetTickCount()-MVStopTime>=5000)//5s
{
//显示
}
}
我要实现的是鼠标移到一点5秒内不动,就一直显示信息,若鼠标移动,重新等5秒钟,和鼠标放在windowsXP文件夹里的文件上类似
void CToolsView::OnInitialUpdate()
{
CView::OnInitialUpdate();
MVStopTime = 0;
SetTimer(1, 2000, 0);
EnableToolTips(TRUE);
m_openToolTip.Create(this);
m_openToolTip.AddTool( this, "坐标");
m_openToolTip.SetDelayTime(200);
m_openToolTip.SetTipTextColor(RGB(5,117, 207));
m_openToolTip.SetMaxTipWidth(30);
m_openToolTip.Activate(TRUE);
// TODO: 在此添加专用代码和/或调用基类
}void CToolsView::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
MVStopTime = GetTickCount();
sChunkProp ="...";//或其他信息
CView::OnMouseMove(nFlags, point);
}void CToolsView::OnTimer(UINT nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if(nIDEvent == 1)
{
if(GetTickCount()-MVStopTime>=2000)//5s
{
//显示
m_openToolTip.UpdateTipText(sChunkProp, this);
MVStopTime =GetTickCount();
}
}
CView::OnTimer(nIDEvent);
}
void CViewTooltipView::OnInitialUpdate()
{
CView::OnInitialUpdate();
// TODO: Add your specialized code here and/or call the base class
m_openToolTip.Create(this);
m_openToolTip.AddTool( this, "坐标");
m_openToolTip.SetDelayTime(TTDT_INITIAL, 5000);//鼠标移动到控件范围5秒后弹出提示框
m_openToolTip.SetDelayTime(TTDT_AUTOPOP, 0X7FFFFFFF);//提示一直不消失,直到鼠标再次有动作
m_openToolTip.SetTipTextColor(RGB(5,117, 207));
m_openToolTip.SetMaxTipWidth(200);
m_openToolTip.Activate(TRUE);
}void CViewTooltipView::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CString zb;
zb.Format("坐标:%i,%i",point.x,point.y); m_openToolTip.AddTool( this, zb);
CView::OnMouseMove(nFlags, point);
}BOOL CViewTooltipView::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
m_openToolTip.RelayEvent(pMsg);
return CView::PreTranslateMessage(pMsg);
}