注:点击的区域不在程序的窗口范围内。是否要用鼠标的全局钩子实现,有没有更简单的办法?哪位高手帮忙解答下。

解决方案 »

  1.   

    能实现你提的问题,但可能不是你想要的,因为这样会造成其它程序都无法响应鼠标事件。Option ExplicitPrivate Declare Function SetCapture Lib "user32" (ByVal hWnd As Long) As Long '捕捉Mouse输入焦点
    Private Declare Function ReleaseCapture Lib "user32" () As Long '释放Mouse输入焦点Private Sub Form_Load()
      SetCapture Me.hWnd '取得鼠标控件权
    End SubPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
      MsgBox X & "," & Y
      SetCapture Me.hWnd '取得鼠标控件权
    End SubPrivate Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
      SetCapture Me.hWnd '取得鼠标控件权
    End SubPrivate Sub Form_Unload(Cancel As Integer)
      ReleaseCapture    '释放鼠标控件权
    End Sub