比如将MSComm1_OnComm()定义成MSComm1_MyOnComm()?
谢谢!

解决方案 »

  1.   

    这是可以的,但MSComm1_MyOnComm()事件不属于MSComm1私有.MSComm1_MyOnComm()将只是一个自定义函数或事件MSComm1要调用才能有到该事件或函数
      

  2.   

    sub MSComm1_OnComm()
      MSComm1_MyOnComm
    end sub在其函数中调用你自己写的函数即可。---------------------或者使用HOOKForm1下
    Public m_lpVBWndProc As Long
    Private Sub Form1_Load()
        'Hook
        SetHook Me, AddressOf Form1_MyWindowProc
    End Sub标准模块下'Hook
    Public Const WM_MOUSEWHEEL = &H20APublic 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 Long'消息拦截
    Public Function SetHook(frmHookForm As Form, lpWinProc As Long) As Long
        If lpWinProc = 0 Then Exit Function
        frmHookForm.m_lpVBWndProc = SetWindowLong(frmHookForm.hwnd, GWL_WNDPROC, lpWinProc)
    End FunctionFunction Form1_MyWindowProc(ByVal hw As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
        
        '消息处理
        Select Case uMsg
        Case WM_MOUSEWHEEL
             msgbox ""
       End Select
        
         '让VB默认的处理函数处理
        mdiViewForm_MyWindowProc = CallWindowProc(m_lpVBWndProc, hw, uMsg, wParam, lParam)
        
    End Function
      

  3.   

    标准模块下 还要添加这个常数Public Const GWL_WNDPROC = (-4)
      

  4.   

    建个类
    public event MyOnComm
    sub MSComm1_OnComm()
    raiseevent MyOnComm
    end sub