PureBasic
;
; ------------------------------------------------------------
;
;   PureBasic - Menu example file
;
;    (c) Fantaisie Software
;
; ------------------------------------------------------------
;

;
; Создать всплывающее меню. Отступ важен здесь для хорошей ликвидности
;

If CreatePopupMenu(0)
  MenuItem(1, "Вырезать")
  MenuItem(2, "Копировать")
  MenuItem(3, "Вставить")
  MenuBar()
  OpenSubMenu("Опции")
    MenuItem(4, "Окна...")
    MenuItem(5, "Гаджеты...")
  CloseSubMenu()
  MenuBar()
  MenuItem( 6, "Выход")
EndIf

;
; Нам просто нужно открыть окно и посмотреть, когда в меню происходит событие
;
If OpenWindow(0, 100, 100, 300, 260, "PureBasic - Пример всплывающего меню")

  ListIconGadget(0, 10, 10, 280, 240, "Инструменты", 200)
    AddGadgetItem(0, -1, "Молоток")
    AddGadgetItem(0, -1, "Отвертка")

  Repeat

    Select WaitWindowEvent()
        
      Case #PB_Event_Gadget
        If EventGadget() = 0 And EventType() = #PB_EventType_RightClick
          DisplayPopupMenu(0, WindowID(0))
        EndIf
          
      Case #PB_Event_Menu
      
        Select EventMenu()  ; Чтобы увидеть, какое меню было выбрано

          Case 1 ; Вырезать
            MessageRequester("PureBasic", "Вырезать", 0)

          Case 2 ; Копировать
            MessageRequester("PureBasic", "Копировать", 0)

          Case 3 ; Вставить
            MessageRequester("PureBasic", "Вставить", 0)

          Case 6 ; Выход
            Quit = 1

        EndSelect
        
      Case #PB_Event_CloseWindow
        Quit = 1

    EndSelect

  Until Quit = 1

EndIf

End