You can Subclass your Window.
Code for Module
Code:
Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Declare Function SetWindowLong& Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long)
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
Const WM_COMMAND = &H111
Const WM_CLOSE = &H10
Const GWL_WNDPROC = (-4)
Const WM_ENTERSIZEMOVE = &H231
Global WndProcOld As Long
Public Function WindProc(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wparam As Long, ByVal lparam As Long) As Long
If wMsg& = WM_ENTERSIZEMOVE Then
'***Place code here***
MsgBox "Resize"
End If
WindProc = CallWindowProc(WndProcOld&, hwnd&, wMsg&, wparam&, lparam&)
End Function
Sub Subclass(hwnd As Long)
WndProcOld& = SetWindowLong(hwnd, GWL_WNDPROC, AddressOf WindProc)
End Sub
Sub UnSubclass(hwnd)
SetWindowLong hwnd, GWL_WNDPROC, WndProcOld&
WndProcOld& = 0
End Sub
Code for Form
Code:
Private Sub Form_Load()
Subclass Me.hwnd
End Sub
Private Sub Form_Unload(Cancel As Integer)
UnSubclass Me.hwnd
End Sub