Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam _
As Long, lParam As Long) As Long
Public 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 Long
Public Const GWL_STYLE = -16&
Public Const GWL_WNDPROC = (-4)
Public Const TVM_SETBKCOLOR = 4381&
Public Const TVM_GETBKCOLOR = 4383&
Public Const TVS_HASLINES = 2&
Public Const WM_PASTE = &H302
Global hookWnd As Long
Global gnlpPrevWndProc As Long
Public Sub Hook(frm As Long)
hookWnd = frm
gnlpPrevWndProc = SetWindowLong(hookWnd, GWL_WNDPROC, AddressOf WindowProc)
End Sub
Public Sub Unhook()
SetWindowLong hookWnd, GWL_WNDPROC, gnlpPrevWndProc
End Sub
Public Function WindowProc(ByVal hwnd As Long, _
ByVal uMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
If uMsg = WM_PASTE Then
Else
WindowProc = CallWindowProc(gnlpPrevWndProc, hwnd, uMsg, wParam, lParam)
End If
End Function