Option ExplicitPublic Const GWL_WNDPROC = (-4) Public Const WM_RBUTTONDOWN = &H204Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal MSG As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPublic prevWndProc As Long Public Const WM_CLOSE = &H10 Public Const WM_DESTROY = &H2 Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPublic Const EM_SETREADONLY = &HCFFunction WndProc(ByVal hwnd As Long, ByVal MSG As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Select Case MSG Case WM_RBUTTONDOWN WndProc = 0 Exit Function Case Else End Select
WndProc = CallWindowProc(prevWndProc, hwnd, MSG, wParam, lParam) End Function以上是在BAS内, 以FRM里控件的mousedown事件内写些代码就实现了。实现了对鼠标单击捕捉!
Public Const WM_RBUTTONDOWN = &H204Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal MSG As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPublic prevWndProc As Long
Public Const WM_CLOSE = &H10
Public Const WM_DESTROY = &H2
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPublic Const EM_SETREADONLY = &HCFFunction WndProc(ByVal hwnd As Long, ByVal MSG As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Select Case MSG
Case WM_RBUTTONDOWN
WndProc = 0
Exit Function
Case Else
End Select
WndProc = CallWindowProc(prevWndProc, hwnd, MSG, wParam, lParam)
End Function以上是在BAS内,
以FRM里控件的mousedown事件内写些代码就实现了。实现了对鼠标单击捕捉!