看我的blog
http://blog.csdn.net/Java_1987/archive/2009/09/09/4536804.aspx

解决方案 »

  1.   

    感觉不是传递的原因。。
    WM_MOUSEMOVE 这个消息应该是没产生出来,就是说,如果你太快的话,产生的消息并没有增多。。消息队列有足够的空间放置消息的·~所以,ls说的是一个方法。。
      

  2.   

    基于性能考虑,WM_MOUSEMOVE消息不是实时产生的,而是有一定的时间间隔,也就是说鼠标移动产生的多个事件会被合并成一个事件从而产生WM_MOUSEMOVE消息。在鼠标驱动中通过调节鼠标轨迹灵敏度可调整时间,但过高的灵敏度会导致系统性能下降。如果自己追求高灵敏度又不希望调整系统配置,就不能使用WM_MOUSEMOVE消息,只能自己使用高精度定时器,周期检测鼠标位置(调用GetCursorPos后再ScreenToClient到窗口客户区)。
      

  3.   

    WM_MOUSEMOVE消息是不连续的,你可以根据前一次记录的坐标画线。
      

  4.   

    SetCapture
    详细见csdn
    别忘了之后释放