to foolishtiger(吴文智) 
怎么编写?
Private Sub DataGridForFilter_HeadClick(ByVal ColIndex As Integer)
   Exit Sub             ’虽然退出,可表格已经变黑
End Sub

解决方案 »

  1.   

    pre=getwindowlong(me.hwnd,GWL_WNDPROC)
    setwindowlong me.hwnd, GWL_WNDPROC AddressOf WndProcfunction WndProc(Byval hwnd as long,byval msg as long,byval wparam as long,byval lparam as long) as long  '回调函数on error resume next
    select case msg
      case WM_XXXX
          处理消息
      case else
      Wndpro= Callwindowproc(pre,hwnd,msg,wparam,lparam)
    end select
    end function
    setwindowlong from1.hwnd,GWL_WNDPROC,pre
      

  2.   

    有点小问题,注意
    pre=getwindowlong(me.hwnd,GWL_WNDPROC)
    setwindowlong me.hwnd, GWL_WNDPROC AddressOf WndProcfunction WndProc(Byval hwnd as long,byval msg as long,byval wparam as long,byval lparam as long) as long  '回调函数on error resume next
    select case msg
      case WM_XXXX
           exit function  
    case else
      Wndpro= Callwindowproc(pre,hwnd,msg,wparam,lparam)
    end select
    end function
    setwindowlong from1.hwnd,GWL_WNDPROC,pre
      

  3.   

    闪电的方法应该是可以的,不过不能屏蔽所有事件!
    其机理是:
    遍一个插队WndProc,在窗体之前截获Wndmsg,处理后再给窗体。还有要注意
    在表单关闭前一定要用
    setwindowlong from1.hwnd,GWL_WNDPROC,pre
    语句,否则就会出现WINDOWNS出错提示
    还有测试环境下千万不要点STOP,否则没保存的话,哭吧!
      

  4.   

    WndProc函数必须放在类模块里!