c ++ mouseover事件

时间:2010-08-13 05:47:52

标签: c++ visual-c++ position onmouseover

确定如果对象不移动,在事件上创建鼠标非常容易。 但问题是物体每50毫秒移动一次。 它不是一个字符串行,所以我可以创建一个脚本它是一个圆圈。 我曾经使用过getcursorpos()。比得到对象x和y。 另一个问题是这个

 p  X---------------------

 y 
 |
 |     
 |
 |       cursor
 |
 |
 |

它表示p是x和y的位置。    如果生病了,那么光标位于中间,获取光标的位置并将其与x和y进行比较,它们将不匹配。    加上物体继续移动,因此更难跟踪。    任何的想法?    对不起,如果我说的是令人困惑,我无法解释它。

1 个答案:

答案 0 :(得分:2)

如果您按照GetCursorPos文档说明:

  

指向POINT结构的指针   收到的屏幕坐标   光标

但是当你绘制时,你必须提供客户端坐标。这是您需要使用名为ScreenToClient的函数从屏幕坐标转换为客户端坐标的问题。

但是我没有手动跟踪光标位置,而是建议使用WM_MOUSEMOVE事件,它已经为您提供了客户端坐标。