MouseMove事件函数中的Sender为什么每次都传递的是鼠标第一次按下的对象啊?怎么样能够实时的得到鼠标移到的控件啊?

解决方案 »

  1.   

    你的过程是不是这样:按住鼠标,然后移动鼠标是吧,因为你按住鼠标左键时,鼠标被Capture了,所以一直是你鼠标按下的那个对象。
    如果你用右键按下再移动鼠标就不会了。
      

  2.   

    MouseMove事件函数中 只是鼠標移動事件。 要注意鼠標有幾鐘移動狀態。有拖方和無拖放所以Sender該是起始時的對像。如果鼠標移動到 VB程序的界面上 它又如何判斷當前鼠標下的是什麼對像呢?如果你想判斷的話 就要用win32的api
      

  3.   


    GetActiveControl 来得到你要的
      

  4.   

    GetCursorPos()捕捉当前鼠标在屏幕上的位置(x,y)。
    var
      MPosTp : Tpoint;
    begin
      GetCursorPos(MPosTp);
      MPosTp.x ...
      MPosTp.y ...转化一下行不行
      

  5.   

    TO: linzhengqun(风。我回来了) 
    这样啊!那只能用右键了?
    TO:鲨鱼,怎么繁体字呢?那里人啊?另,谢谢 aiirii及 yq3woaini