Const WM_EXITMENULOOP = &H212
Сообщение WM_EXITMENULOOP сообщает основной оконной процедуре приложения, что меню из модального цикла вышло. Окно получает это сообщение через функцию обратного вызова WindowProc
' Поместите код в модуль, ' т.к. используется функция обратного вызова Public OldWindowProc 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 Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _ (ByVal hwnd As Long, _ ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long Public Const GWL_WNDPROC = (-4) Const WM_EXITMENULOOP As Long = &H212 Public Function WindowProc(ByVal hwnd As Long, _ ByVal msg As Long, ByVal wParam As Long, _ ByVal lParam As Long) As Long If msg = WM_EXITMENULOOP Then Form1.BackColor = vbRed End If WindowProc = CallWindowProc( _ OldWindowProc, hwnd, msg, wParam, _ lParam) End Function ' Поместите код в событие Form_Load OldWindowProc = SetWindowLong( _ hwnd, GWL_WNDPROC, _ AddressOf WindowProc)