关于mousemove事件的处理方法 请教大家。 我定义了一个mousemove事件,只要鼠标移动,事件就在不停的重新启动,有没有办法当鼠标移动完后,也就是停下来的时候再触发mousemove里面的事件呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 设置Timer获得鼠标位置 如查相同 设置Timer 如查不相同 重启事件, KillTimer() 不相同这个方法比较笨, 可能还是错的.... 其实我只是想在客户区用CTooltipCTRL来实时显示鼠标所在的位置而已,我在ONMouseMove里面实现的。代码很简单: CString str; str.Format("X:%3d Y:%3d ",point.x,point.y); m_wndToolTip.UpdateTipText(str,FromHandle(m_Output[0]));.h中已声明 CToolTipCtrl m_wndToolTip;FromHandle(m_Output[0])是我的窗口句柄,现在问题是,当我鼠标移动的稍快一点的话,CPU占用率就明显的上升,最多的时候竟然占用了50%,我的CPU是CORE2 E7500,我想请教一下有没有好一点的办法来实现实时显示鼠标坐标的方法。 谢谢! 这样应该会导致cpu利用率比较高啦,建议用Timer来实现. 你的方法没有问题可能是某些语句导致cpu占用比较严重你注释某些语句试试如果不加任何功能代码还有次问题那就不是你的问题而是系统本身的问题如果是因为某些操作的问题可以考虑看看是不是有其他替代的方法 这个问题到现在还在困扰着我! 这中间涉及到二个问题,一是CToolTipctrl的运行机制,二是OnMouseMove事件。 我检查过代码,发现是 m_wndToolTip.UpdateTipText(str,FromHandle(m_Output[0]))这行代码消耗着我的CPU资源,我不知道这行代码哪里有什么问题,每二个,我想追问一下大家关于鼠标状态机制,VC里头难道没有一种判断鼠标当前状态的方法吗??? 其实我想要的很简单,怎么判断当前鼠标是在移动过程中,如果在移动,那么事件就不触发,当停下来的时候则执行,不能实现吗? 大家有没有试过控件的WM_MOUSEHOVER消息呀,我测试过,但是好像没有收到过这个消息!所以不知道什么时候才能触发这个消息? 用_TrackMouseEvent才能触发WM_MOUSEHOVER | WM_MOUSELEAVE 等消息。 现在才结贴哈! 哈哈!最终用的settimer来实现的! IO卡问题(730)急!! 怎么解决CFileDialog锁住U盘的问题? 在vc中如何实现几个wav文件的循环播放??? 如何刷新一个页面,帮忙解决一下,谢谢 高分求OOD启思录中文版 ★新手提问★ 简单问题 今天遇到的怪事。 如何做出对话框工具栏象“IE地址栏",进来得分啊!! 请问怎么获取某个窗口的鼠标特征码(后台) unsigned int h_len:4是怎么定义h_len的长度的? ctrl+shift+F1 这个快捷键,你们电脑上有吗? 求多边形外围缓冲区源码
如查相同
设置Timer
如查不相同
重启事件, KillTimer()
不相同这个方法比较笨, 可能还是错的....
str.Format("X:%3d Y:%3d ",point.x,point.y);
m_wndToolTip.UpdateTipText(str,FromHandle(m_Output[0]));.h中已声明 CToolTipCtrl m_wndToolTip;FromHandle(m_Output[0])是我的窗口句柄,现在问题是,当我鼠标移动的稍快一点的话,CPU占用率就明显的上升,最多的时候竟然占用了50%,我的CPU是CORE2 E7500,我想请教一下有没有好一点的办法来实现实时显示鼠标坐标的方法。 谢谢!
可能是某些语句导致cpu占用比较严重
你注释某些语句试试
如果不加任何功能代码还有次问题那就不是你的问题而是系统本身的问题
如果是因为某些操作的问题可以考虑看看是不是有其他替代的方法
最终用的settimer来实现的!