到www.21code.com/codebase看看吧

解决方案 »

  1.   

    Private Const GWL_WNDPROC = (-4)
    Private Const WM_RBUTTONDOWN = &H204Private Declare 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
    Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private prevWndProc As Long
    Private Function WndProc(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
        If Msg = WM_RBUTTONDOWN Then
        Else
            WndProc = CallWindowProc(prevWndProc, hwnd, Msg, wParam, lParam)
        End If
    End FunctionSub DisableRClick(TargetTextBox As TextBox)
        
        prevWndProc = GetWindowLong(TargetTextBox.hwnd, GWL_WNDPROC)
        SetWindowLong TargetTextBox.hwnd, GWL_WNDPROC, AddressOf WndProc
    End Sub
    屏蔽textbox的右键