Описание функции


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