我在MDI  用WndProc 来监控这个窗体发生的事件
然后 MDI里面有一些子窗体
Private Sub MDIForm_Load()
On Error Resume Next    prvWinProc = GetWindowLong(Me.hwnd, GWL_WNDPROC)
    ret = SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressOf WndProc)End Sub
现在的问题就是,现在调试这个程序的时候,我想要暂停调试的时候,却发现MDI始终在受监控,VB却没有办法获得焦点,请问,有什么办法可以解决这个问题吗?

解决方案 »

  1.   

    SetWindowLong Me.hwnd, GWL_WNDPROC, prvWinProc)
      

  2.   

    SetWindowLong ( Me.hwnd, GWL_WNDPROC, prvWinProc)
    怎么能捕捉到呢,Ctrl+Pause Break 或点那一个 ||是呀,问题是在什么时候用呀,
      

  3.   

    在WndProc里
    IF MSG=WM_KEYUP AND WPARAM=3 THEN WndProc=CallWindowProc(prvWinProc, hwnd, Msg, wParam, lParam)
      

  4.   

    '在WndProc里'
    'IF MSG=WM_KEYUP AND WPARAM=3 THEN WndProc=CallWindowProc(prvWinProc, hwnd, Msg, wParam, lParam)那是他打开VB然后用鼠标点了一下那个暂停怎么办呢
      

  5.   

    我看到一种方法是说做成DLL我照做了然后问题变成了
    1.我把 WndProc  之类的函数放到 了这个DLL里面
    由于我的WndProc 是监控的一个菜单,点了菜单就要调用这个字符对应的窗体
    我DLL编译之后,发这我要调用的这些窗体DLL里面没有,
    于是我就想用现实然后把些调用窗体的代码还是写回到那些窗体里面于是有了'模块里Dim AAA as New ClsMenu
    Public Function WndProc(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    On Error GoTo errhandle:
        Dim LngSelectMenuHwnd   As Long
        Dim LngActWindow        As LongDim StrFrm As String
        If Msg = WM_COMMAND Then        If lParam = 0 Then
    '如果点中菜单的话就让类去触发事件
                Call AAA.SelectedMenu(hwnd, Msg, wParam, lParam)
            End If    End If
             WndProc = CallWindowProc(prvWinProc, hwnd, Msg, wParam, lParam)
        Exit Functionerrhandle:
        MsgBox Err.Description
    ErrHandleNoErr:
            WndProc = CallWindowProc(prvWinProc, hwnd, Msg, wParam, lParam)
            Exit Function
    End FunctionClsMenu里面有
    Public Event SelectMenued(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long)Public Sub SelectedMenu(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long)
       RaiseEvent SelectMenued(hwnd, Msg, wParam, lParam)
       ’让窗体里的代码来加载窗体
    End Sub
    窗体里面是这样的
    Dim WithEvents ClsMainMenu as ClsMenu可是问题是为什么我在窗体里却没有
    Private Sub ClsMainMenu_SelectedMenu 
    end Sub
    被触发