Описание функции
WM_ENTERMENULOOP
Сообщение выполняется при открытии меню.
Параметры
Указанные параметры передаются системой.wParam | Флаг 0 - открыто главное меню 1 - открыто контекстное меню (TrackPopupMenu) |
lParam |
Ничего |
Примечания
Смотрите функцию SetWindowCallback.См. также
WM_EXITMENULOOP, WM_MENUSELECTПример
EnableExplicit
#Window = 0
Enumeration
#Menu
#PopupMenu
EndEnumeration
Procedure WinCallback(hWnd, Msg, wParam, lParam)
Select Msg
Case #WM_ENTERMENULOOP
If wParam
Debug "Открыто конт. меню"
Else
Debug "Открыто главное меню"
EndIf
Case #WM_EXITMENULOOP
If wParam
Debug "Закрыто конт. меню"
Else
Debug "Закрыто главное меню"
EndIf
EndSelect
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
Procedure EventsPopupMenu()
DisplayPopupMenu(#PopupMenu, WindowID(#Window))
EndProcedure
If OpenWindow(#Window, 0, 0, 320, 240, "Menu", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If CreateMenu(#Menu, WindowID(#Window))
MenuTitle("File")
MenuItem(1, "New")
EndIf
If CreatePopupMenu(#PopupMenu)
MenuItem(2, "Copy")
EndIf
SetWindowCallback(@WinCallback())
BindEvent(#PB_Event_RightClick, @EventsPopupMenu())
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf