' Process messages.
Public Function NewWindowProc(ByVal hwnd As Long, ByVal msg _
As Long, ByVal wParam As Long, lParam As WINDOWPOS) As _
Long
Const WM_NCDESTROY = &H82
Const WM_WINDOWPOSCHANGING = &H46
Const WM_EXITSIZEMOVE = &H232
' If we're being destroyed,
' restore the original WindowProc.
If msg = WM_NCDESTROY Then
SetWindowLong _
hwnd, GWL_WNDPROC, _
OldWindowProc
End If
' See if we are moving or done moving.
If msg = WM_WINDOWPOSCHANGING Then Form1.Moving
If msg = WM_EXITSIZEMOVE Then Form1.Moved
' Continue normal processing. VERY IMPORTANT!
NewWindowProc = CallWindowProc( _
OldWindowProc, hwnd, msg, wParam, _
lParam)
End Function
|