PureBasic

CreatePopupMenu()

Синтаксис

Result = CreatePopupMenu(#Menu)

Описание


Создаёт новое пустое всплывающее Меню.

Параметры

#Menu Номер, идентифицирующий новое Меню. В качестве этого параметра можно использовать значение #PB_Any, чтобы сгенерировать этот Номер автоматически.

Возвращаемое значение

Возвращает не нулевое значение, если Меню было успешно создано, в противном случае 0. Если в качестве параметра #Menu использовалось значение #PB_Any, то в случае успеха будет возвращен сгенерированный Номер.

Комментарии

Чтобы создать всплывающее Меню с поддержкой изображений, используйте функцию CreatePopupImageMenu().

После того, как Меню создано, оно становится активным, и дальнейшее добавление элементов пойдёт в него. После этого можно использовать такие функции как MenuTitle(), MenuItem(), MenuBar(), OpenSubMenu(), с помощью которых Вы можете заполнить Меню нужными элементами.

С помощью функции DisplayPopupMenu() это всплывающее Меню можно отобразить в любой позиции на экране.

Чтобы корректно обработать события Меню, смотрите описания следующих функций:
WaitWindowEvent() (как альтернатива: WindowEvent())
EventWindow()
EventMenu()

Пример

  If OpenWindow(0, 200, 200, 400, 120, "Пример Всплывающего Меню")
  
    If CreatePopupMenu(0)      ; Начинается создание всплывающего Меню...
      MenuItem(1, "Открыть")      ; Для создания такого Меню вы можете использовать все команды
      MenuItem(2, "Сохранить")      ; точно так же, как с обычным Меню...
      MenuItem(3, "Сохранить как")
      MenuItem(4, "Выход")
      MenuBar()
      OpenSubMenu("Недавние файлы")
        MenuItem(5, "PureBasic.exe")
        MenuItem(6, "Test.txt")
      CloseSubMenu()
    EndIf
    
    Repeat
      Event = WaitWindowEvent()     ; проверим наличие событий окна
      
      Select Event
        Case #PB_Event_RightClick       ; нажата правая кнопка мыши =>
          DisplayPopupMenu(0, WindowID(0))  ; покажем всплывающее Меню
          
        Case #PB_Event_Menu        ; кликнут элемент всплывающего Меню
          Select EventMenu()       ; получим кликнутый элемент Меню...
            Case 1 : Debug "Menu: Открыть"
            Case 2 : Debug "Menu: Сохранить"
            Case 3 : Debug "Menu: Сохранить как"
            Case 4 : End
            Case 5 : Debug "Menu: PureBasic.exe"
            Case 6 : Debug "Menu: Text.txt"
          EndSelect
          
      EndSelect
      
    Until Event = #PB_Event_CloseWindow
  EndIf

См. также

CreatePopupImageMenu(), DisplayPopupMenu(), CreateMenu(), CreateImageMenu(), FreeMenu(), MenuTitle(), MenuItem(), MenuBar(), OpenSubMenu()

Поддерживаемые OS

Все

<- CreatePopupImageMenu() - Оглавление Menu - DisableMenuItem()->