我在formcreate的时候
  setcapture(form1.handle);
formclose的时候
  releasecapture;
form的mousemove事件中显示鼠标的坐标:
  label1.caption:=inttostr(x);
  label2.caption:=inttostr(y);
为什么我的鼠标移到窗口外form就收不到mousemove事件了呢???还有只要我单击了鼠标,好象setcapture就不起作用了呢,可是我没有releasecapture啊???哪位知道啊:)

解决方案 »

  1.   

    我试了,如果在窗口内按着鼠标不放,它就能接收到mousemove事件,不然就接受不到,有点怪哦,再帮你看看
      

  2.   

    在SetCapture前面加上:
    SetCaptureControl(nil)
      

  3.   

    好象没用哎,鼠标窗口外label不变啊
      

  4.   

    我以前也有同样的问题, 我感觉好象是delphi5会自动releaseCapture,所以才这样!
      

  5.   

    那为什么我已经SetCapture(form1.handle)了,但是鼠标移到窗口外label1,label2的显示不边了呢,应该怎么写啊
      

  6.   

    setcapture对鼠标的捕捉是有限制,不是说setcapture以后,窗口就可以响应所有在窗口之外的鼠标事件;你如果要鼠标在窗口外还能显示鼠标坐标值,那请把鼠标按住不放再移出窗口就可以显示鼠标坐标了。
      

  7.   

    请问setcapture包含在哪个单元文件中?急需,请帮我一下,谢谢