我使用下面的代码,没有起到屏蔽的作用!应该如何写?
Private Sub RichTextBox1_KeyPress(KeyAscii As Integer)
If KeyAscii = 22 Then
KeyAscii = 0
End If
End Sub

解决方案 »

  1.   

    Option ExplicitPublic Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
    Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Public 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 LongPublic Const GWL_WNDPROC = (-4)
    Public Const WM_PASTE = &H302
    Public OldWnd As LongPublic Function WndProc(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
        If Msg = WM_PASTE Then
        Else
            CallWindowProc OldWnd, hwnd, Msg, wParam, lParam
        End If
    End Function
    -------------------------
    Option ExplicitPrivate Sub Form_Load()
        Dim Ret As Long
        OldWnd = GetWindowLong(RichTextBox1.hwnd, GWL_WNDPROC)
        Ret = SetWindowLong(RichTextBox1.hwnd, GWL_WNDPROC, AddressOf WndProc)
    End SubPrivate Sub Form_Unload(Cancel As Integer)
        Dim Ret As Long
        Ret = SetWindowLong(RichTextBox1.hwnd, GWL_WNDPROC, OldWnd)
    End Sub
    ===========
    上面的写入模块中,下面的写入窗体中。
      

  2.   

    http://search.csdn.net/Expert/topic/85/85549.xml?temp=.2155725