用WM_MOUSEMOVE消息画轨迹点时,发现鼠标移动很快的时候 只能画出少数几个点。

在使用WM_MOUSEMOVE消息绘制鼠标轨迹时,遇到快速移动鼠标仅能捕捉到少量点的问题。Windows通过内部数据结构标记而非直接将消息放入队列,以避免应用程序被大量WM_MOUSEMOVE消息淹没。当鼠标移动缓慢时,通常能报告所有轨迹点,而快速移动时则只会报告少数点。问题在于如何在忙碌的应用程序中确保获取所有必要的鼠标移动信息。
摘要由CSDN通过智能技术生成

用WM_MOUSEMOVE消息画轨迹点时,发现鼠标移动很快的时候 只能画出少数几个点。

然后找到这样一段话,但还是不怎么能了解什么意思。

 

WM_MOUSEMOVE 消息报告光标在窗口客户区的移动。

当鼠标移动时,在光标下面的窗口会接收到快速报告光标最近位置的WM_MOUSEMOVE 消息。

Windows用一种有趣的方法来投递WM_MOUSEMOVE 消息,以防止运行缓慢的应用程序被光标移动时产生的大量报告位置的消息淹没。Windows并没有把每次移动鼠标产生的WM_MOUSEMOVE 消息装填在消息队列中,而是仅仅在一个内部数据结构中设置了一个标示。

下一次应用程序检索消息时,Windows由于设置了标志,将产生报告当前光标位置的WM_MOUSEMOVE 消息。

这样,应用程序接收到的WM_MOUSEMOVE 消息数量正好适合它们处理。

如果光标很慢的移动,除非应用程序忙于执行其他任务,否则会报告光标轨迹上的所有点位置。

但是如果光标飞快的划过屏幕,大多数应用程序只会接收到少数几个WM_MOUSEMOVE 消息。

 

不明白之一
Windows并没有把每次移动鼠标产生的WM_MOUSEMOVE 消息装填在消息队列中,而是仅仅在一个内部数据结

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值